Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.14.0, 2.15.3
-
None
-
Novice
Description
In Camel SNMP, the org.apache.camel.component.snmp.SnmpConverters
class has a static “getXmlSafeString” method which escapes unsafe
characters by replacing them. However, the order of applying
replacements is not correct:
private static String getXmlSafeString(String string)
{ return string.replaceAll("<", "<").replaceAll(">", ">").replaceAll("&", "&").replaceAll("\"", """).replaceAll("'", "'"); }It replaces “<” with “<” at first, then the “&” is replaced with
“&”. This means that a “<” character in the input string will be
changed to “<”, and then into “<”, which is not the intended
behavior.
This could be fixed by applying the “replaceAll("&", "&")”
transformation first.