diff options
Diffstat (limited to 'pki/base/common/src')
-rw-r--r-- | pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java b/pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java index 09c9fc91e..fe7936baf 100644 --- a/pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java +++ b/pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java @@ -342,10 +342,20 @@ public class ProfileServlet extends CMSServlet { /* see BZ 500736 for details */ if ((c == 0x5c) && ((i+1)<l) && (in[i+1] == 'n' || in[i+1] == 'r' || in[i+1] == 'f' || in[i+1] == 't' || + in[i+1] == '<' || in[i+1] == '>' || in[i+1] == '\"' || in[i+1] == '\'' || in[i+1] == '\\')) { - out[j++] = '\\'; - out[j++] = in[i+1]; - i++; + if (in[i+1] == 'x' && ((i+3)<l) && in[i+2] == '3' && + (in[i+3] == 'c' || in[i+3] == 'e')) { + out[j++] = '\\'; + out[j++] = in[i+1]; + out[j++] = in[i+2]; + out[j++] = in[i+3]; + i += 3; + } else { + out[j++] = '\\'; + out[j++] = in[i+1]; + i++; + } continue; } |