Skip to content

Commit 8947f2d

Browse files
committed
Patch for an Issue sqlmapproject#1047
1 parent 0cb7852 commit 8947f2d

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

plugins/dbms/postgresql/takeover.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
import os
99

1010
from lib.core.common import Backend
11+
from lib.core.common import checkFile
1112
from lib.core.common import decloakToTemp
1213
from lib.core.common import randomStr
1314
from lib.core.data import kb
1415
from lib.core.data import logger
1516
from lib.core.data import paths
1617
from lib.core.enums import OS
18+
from lib.core.exception import SqlmapSystemException
1719
from lib.core.exception import SqlmapUnsupportedFeatureException
1820
from lib.request import inject
1921
from plugins.generic.takeover import Takeover as GenericTakeover
@@ -60,14 +62,20 @@ def udfSetLocalPaths(self):
6062
errMsg = "unsupported feature on versions of PostgreSQL before 8.2"
6163
raise SqlmapUnsupportedFeatureException(errMsg)
6264

63-
if Backend.isOs(OS.WINDOWS):
64-
_ = os.path.join(self.udfLocalFile, "postgresql", "windows", "%d" % Backend.getArch(), majorVer, "lib_postgresqludf_sys.dll_")
65-
self.udfLocalFile = decloakToTemp(_)
66-
self.udfSharedLibExt = "dll"
67-
else:
68-
_ = os.path.join(self.udfLocalFile, "postgresql", "linux", "%d" % Backend.getArch(), majorVer, "lib_postgresqludf_sys.so_")
69-
self.udfLocalFile = decloakToTemp(_)
70-
self.udfSharedLibExt = "so"
65+
try:
66+
if Backend.isOs(OS.WINDOWS):
67+
_ = os.path.join(self.udfLocalFile, "postgresql", "windows", "%d" % Backend.getArch(), majorVer, "lib_postgresqludf_sys.dll_")
68+
checkFile(_)
69+
self.udfLocalFile = decloakToTemp(_)
70+
self.udfSharedLibExt = "dll"
71+
else:
72+
_ = os.path.join(self.udfLocalFile, "postgresql", "linux", "%d" % Backend.getArch(), majorVer, "lib_postgresqludf_sys.so_")
73+
checkFile(_)
74+
self.udfLocalFile = decloakToTemp(_)
75+
self.udfSharedLibExt = "so"
76+
except SqlmapSystemException:
77+
errMsg = "unsupported feature on PostgreSQL %s (%s-bit)" % (majorVer, Backend.getArch())
78+
raise SqlmapUnsupportedFeatureException(errMsg)
7179

7280
def udfCreateFromSharedLib(self, udf, inpRet):
7381
if udf in self.udfToCreate:

0 commit comments

Comments
 (0)