]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 105960: xml.cgi generates invalid XML - Patch by Kip Hampton <khampton@totalcinem...
authorlpsolit%gmail.com <>
Tue, 30 Dec 2008 01:40:36 +0000 (01:40 +0000)
committerlpsolit%gmail.com <>
Tue, 30 Dec 2008 01:40:36 +0000 (01:40 +0000)
Bugzilla/Util.pm

index faf7a57db051a7e7cc2a8344f5b33e812b2b4c23..7e5063b8c6bb603eb6fd74e60ef4bc34bce42442 100644 (file)
@@ -199,6 +199,16 @@ sub xml_quote {
     $var =~ s/>/\&gt;/g;
     $var =~ s/\"/\&quot;/g;
     $var =~ s/\'/\&apos;/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;
 }