From abd0b867b3ecf82a2d415830cb432df2a1a97185 Mon Sep 17 00:00:00 2001 From: hns Date: Fri, 13 Sep 2002 15:47:27 +0000 Subject: [PATCH] Filter out invalid XML characters below 0x20 in encodeXml(). --- src/helma/util/HtmlEncoder.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/helma/util/HtmlEncoder.java b/src/helma/util/HtmlEncoder.java index 89f0c910..3fc87634 100644 --- a/src/helma/util/HtmlEncoder.java +++ b/src/helma/util/HtmlEncoder.java @@ -526,7 +526,14 @@ public final class HtmlEncoder { ret.append ("&"); break; default: - ret.append (c); + if (c < 0x20) { + // sort out invalid XML characters below 0x20 - all but 0x9, 0xA and 0xD. + // The trick is an adaption of java.lang.Character.isSpace(). + if (((((1L << 0x9) | (1L << 0xA) | (1L << 0xD)) >> ch) & 1L) != 0) + ret.append (c); + } else { + ret.append (c); + } } } }