Hi,

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("<", "&lt;").replaceAll(">",
"&gt;").replaceAll("&", "&amp;").replaceAll("\"",
"&quot;").replaceAll("'", "&apos;");

    }


It replaces “<” with “&lt;” at first, then the “&” is replaced with
“&amp;”. This means that a “<” character in the input string will be
changed to “&lt;”, and then into “&amp;lt;”, which is not the intended
behavior.

This could be fixed by applying the “replaceAll("&", "&amp;")”
transformation first.

--
Best regards,
Dmitry

Reply via email to