Update regarding #3466

This commit is contained in:
Miroslav Stampar
2019-02-04 15:49:13 +01:00
parent 82aa481e06
commit bd74a201d5
4 changed files with 35 additions and 16 deletions

View File

@@ -3535,6 +3535,32 @@ def intersect(containerA, containerB, lowerCase=False):
return retVal
def decodeStringEscape(value):
"""
Decodes escaped string values (e.g. "\\t" -> "\t")
"""
retVal = value
if value and '\\' in value:
if isinstance(value, unicode):
retVal = retVal.encode(UNICODE_ENCODING)
try:
retVal = codecs.escape_decode(retVal)[0]
except:
try:
retVal = retVal.decode("string_escape")
except:
charset = string.whitespace.replace(" ", "")
for _ in charset:
retVal = retVal.replace(repr(_).strip("'"), _)
if isinstance(value, unicode):
retVal = getUnicode(retVal)
return retVal
def removeReflectiveValues(content, payload, suppressWarning=False):
"""
Neutralizes reflective values in a given content based on a payload