From: lpsolit%gmail.com <> Date: Tue, 30 Dec 2008 01:40:36 +0000 (+0000) Subject: Bug 105960: xml.cgi generates invalid XML - Patch by Kip Hampton r/a=mkanat --- diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index faf7a57db0..7e5063b8c6 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -199,6 +199,16 @@ sub xml_quote { $var =~ s/>/\>/g; $var =~ s/\"/\"/g; $var =~ s/\'/\'/g; + + # the following nukes characters disallowed by the XML 1.0 + # spec, Production 2.2. 1.0 declares that only the following + # are valid: + # (#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]) + $var =~ s/([\x{0001}-\x{0008}]| + [\x{000B}-\x{000C}]| + [\x{000E}-\x{0019}]| + [\x{D800}-\x{DFFF}]| + [\x{FFFE}-\x{FFFF}])//gx; return $var; }