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

Skip to content

Commit d5ede6a

Browse files
committed
fix for a dirty reading issue reported by [email protected] (IndexError: list index out of range)
1 parent 23d7820 commit d5ede6a

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

lib/techniques/error/use.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,11 +333,15 @@ def errorThread():
333333
try:
334334
threadData = getCurrentThreadData()
335335

336-
while threadData.shared.limits and kb.threadContinue:
336+
while kb.threadContinue:
337337
kb.locks.limits.acquire()
338-
num = threadData.shared.limits[-1]
339-
del threadData.shared.limits[-1]
340-
kb.locks.limits.release()
338+
if threadData.shared.limits:
339+
num = threadData.shared.limits[-1]
340+
del threadData.shared.limits[-1]
341+
kb.locks.limits.release()
342+
else:
343+
kb.locks.limits.release()
344+
break
341345

342346
output = __errorFields(expression, expressionFields, expressionFieldsList, expected, num, resumeValue)
343347

lib/techniques/inband/union/use.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,15 @@ def unionThread():
276276
try:
277277
threadData = getCurrentThreadData()
278278

279-
while threadData.shared.limits and kb.threadContinue:
279+
while kb.threadContinue:
280280
kb.locks.limits.acquire()
281-
num = threadData.shared.limits[-1]
282-
del threadData.shared.limits[-1]
283-
kb.locks.limits.release()
281+
if threadData.shared.limits:
282+
num = threadData.shared.limits[-1]
283+
del threadData.shared.limits[-1]
284+
kb.locks.limits.release()
285+
else:
286+
kb.locks.limits.release()
287+
break
284288

285289
if Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE):
286290
field = expressionFieldsList[0]

0 commit comments

Comments
 (0)