Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5f7dbec

Browse files
committed
minor patch
1 parent 39b406c commit 5f7dbec

2 files changed

Lines changed: 36 additions & 32 deletions

File tree

doc/THANKS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ mariano <[email protected]>
621621
for reporting a bug
622622

623623
624-
for reporting a bug
624+
for reporting a few bugs
625625

626626
627627
for reporting a minor bug

lib/core/target.py

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -212,48 +212,52 @@ def __setOutputResume():
212212

213213
if os.path.exists(conf.sessionFile):
214214
if not conf.flushSession:
215-
readSessionFP = codecs.open(conf.sessionFile, "r", UNICODE_ENCODING, 'replace')
216-
__url_cache = set()
217-
__expression_cache = {}
218-
219-
for line in readSessionFP.readlines(): # xreadlines doesn't return unicode strings when codec.open() is used
220-
if line.count("][") == 4:
221-
line = line.split("][")
215+
try:
216+
readSessionFP = codecs.open(conf.sessionFile, "r", UNICODE_ENCODING, 'replace')
217+
__url_cache = set()
218+
__expression_cache = {}
222219

223-
if len(line) != 5:
224-
continue
220+
for line in readSessionFP.readlines(): # xreadlines doesn't return unicode strings when codec.open() is used
221+
if line.count("][") == 4:
222+
line = line.split("][")
225223

226-
url, _, _, expression, value = line
224+
if len(line) != 5:
225+
continue
227226

228-
if not value:
229-
continue
227+
url, _, _, expression, value = line
230228

231-
if url[0] == "[":
232-
url = url[1:]
229+
if not value:
230+
continue
233231

234-
value = value.rstrip('\r\n') # Strips both chars independently
232+
if url[0] == "[":
233+
url = url[1:]
235234

236-
if url not in ( conf.url, conf.hostname ):
237-
continue
235+
value = value.rstrip('\r\n') # Strips both chars independently
238236

239-
if url not in __url_cache:
240-
kb.resumedQueries[url] = {}
241-
kb.resumedQueries[url][expression] = value
242-
__url_cache.add(url)
243-
__expression_cache[url] = set(expression)
237+
if url not in ( conf.url, conf.hostname ):
238+
continue
244239

245-
resumeConfKb(expression, url, value)
240+
if url not in __url_cache:
241+
kb.resumedQueries[url] = {}
242+
kb.resumedQueries[url][expression] = value
243+
__url_cache.add(url)
244+
__expression_cache[url] = set(expression)
246245

247-
if expression not in __expression_cache[url]:
248-
kb.resumedQueries[url][expression] = value
249-
__expression_cache[url].add(value)
250-
elif len(value) >= len(kb.resumedQueries[url][expression]):
251-
kb.resumedQueries[url][expression] = value
246+
resumeConfKb(expression, url, value)
252247

253-
if kb.injection.place is not None and kb.injection.parameter is not None:
254-
kb.injections.append(kb.injection)
248+
if expression not in __expression_cache[url]:
249+
kb.resumedQueries[url][expression] = value
250+
__expression_cache[url].add(value)
251+
elif len(value) >= len(kb.resumedQueries[url][expression]):
252+
kb.resumedQueries[url][expression] = value
255253

256-
readSessionFP.close()
254+
if kb.injection.place is not None and kb.injection.parameter is not None:
255+
kb.injections.append(kb.injection)
256+
except IOError, msg:
257+
errMsg = "unable to properly open the session file (%s)" % msg
258+
raise sqlmapFilePathException, errMsg
259+
else:
260+
readSessionFP.close()
257261
else:
258262
try:
259263
os.remove(conf.sessionFile)

0 commit comments

Comments
 (0)