Skip to content

Commit b02be96

Browse files
committed
1 parent 7d418af commit b02be96

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lib/core/agent.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,10 @@ def _(pattern, repl, string):
174174
while True:
175175
_ = re.search(r"\\g<([^>]+)>", repl)
176176
if _:
177-
repl = repl.replace(_.group(0), match.group(int(_.group(1)) if _.group(1).isdigit() else _.group(1)))
177+
try:
178+
repl = repl.replace(_.group(0), match.group(int(_.group(1)) if _.group(1).isdigit() else _.group(1)))
179+
except IndexError:
180+
break
178181
else:
179182
break
180183
retVal = string[:match.start()] + repl + string[match.end():]
@@ -185,6 +188,7 @@ def _(pattern, repl, string):
185188
retVal = _(regex, "%s=%s" % (parameter, self.addPayloadDelimiters(newValue.replace("\\", "\\\\"))), paramString)
186189
else:
187190
retVal = _(r"(\A|\b)%s=%s(\Z|%s|%s|\s)" % (re.escape(parameter), re.escape(origValue), DEFAULT_GET_POST_DELIMITER, DEFAULT_COOKIE_DELIMITER), "%s=%s\g<2>" % (parameter, self.addPayloadDelimiters(newValue.replace("\\", "\\\\"))), paramString)
191+
188192
if retVal == paramString and urlencode(parameter) != parameter:
189193
retVal = _(r"(\A|\b)%s=%s" % (re.escape(urlencode(parameter)), re.escape(origValue)), "%s=%s" % (urlencode(parameter), self.addPayloadDelimiters(newValue.replace("\\", "\\\\"))), paramString)
190194

0 commit comments

Comments
 (0)