{"record":{"id":"bd9704962550e963","repo":"sqlmapproject/sqlmap","slug":"you-provided-a-dynamic-link-library-as-shared-libr","errorCode":null,"errorMessage":"you provided a dynamic-link library as shared library, but the database underlying operating system is Linux","messagePattern":"you provided a dynamic-link library as shared library, but the database underlying operating system is Linux","errorType":"exception","errorClass":"SqlmapMissingMandatoryOptionException","httpStatus":null,"severity":"error","filePath":"lib/takeover/udf.py","lineNumber":232,"sourceCode":"            self.udfLocalFile = conf.shLib\n\n        if not os.path.exists(self.udfLocalFile):\n            errMsg = \"the specified shared library file does not exist\"\n            raise SqlmapFilePathException(errMsg)\n\n        if not self.udfLocalFile.endswith(\".dll\") and not self.udfLocalFile.endswith(\".so\"):\n            errMsg = \"shared library file must end with '.dll' or '.so'\"\n            raise SqlmapMissingMandatoryOptionException(errMsg)\n\n        elif self.udfLocalFile.endswith(\".so\") and Backend.isOs(OS.WINDOWS):\n            errMsg = \"you provided a shared object as shared library, but \"\n            errMsg += \"the database underlying operating system is Windows\"\n            raise SqlmapMissingMandatoryOptionException(errMsg)\n\n        elif self.udfLocalFile.endswith(\".dll\") and Backend.isOs(OS.LINUX):\n            errMsg = \"you provided a dynamic-link library as shared library, \"\n            errMsg += \"but the database underlying operating system is Linux\"\n            raise SqlmapMissingMandatoryOptionException(errMsg)\n\n        self.udfSharedLibName = os.path.splitext(os.path.basename(self.udfLocalFile))[0]\n        self.udfSharedLibExt = os.path.splitext(self.udfLocalFile)[1][1:]\n\n        msg = \"how many user-defined functions do you want to create \"\n        msg += \"from the shared library? \"\n\n        while True:\n            udfCount = readInput(msg, default='1')\n\n            if udfCount.isdigit():\n                udfCount = int(udfCount)\n\n                if udfCount <= 0:\n                    logger.info(\"nothing to inject then\")\n                    return\n                else:\n                    break","sourceCodeStart":214,"sourceCodeEnd":250,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/takeover/udf.py#L214-L250","documentation":"Error \"you provided a dynamic-link library as shared library, but the database underlying operating system is Linux\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/takeover/udf.py:232 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}