summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src')
-rw-r--r--pki/base/common/src/com/netscape/cms/servlet/profile/ProfileServlet.java16
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;
}