You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Dmitry Zolotukhin (JIRA)" <ji...@apache.org> on 2015/10/03 12:28:26 UTC

[jira] [Created] (CAMEL-9188) Incorrect string replacement order in Camel SNMP

Dmitry Zolotukhin created CAMEL-9188:
----------------------------------------

             Summary: Incorrect string replacement order in Camel SNMP
                 Key: CAMEL-9188
                 URL: https://issues.apache.org/jira/browse/CAMEL-9188
             Project: Camel
          Issue Type: Bug
          Components: camel-snmp
    Affects Versions: 2.15.3, 2.14.0
            Reporter: Dmitry Zolotukhin
            Priority: Minor


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)