This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch fix/xmlencode-control-chars
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git

commit ecdc7470be485b42694ee168737112e5c84be75e
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Wed Jul 1 08:52:39 2026 -0400

    XMLEncode: encode illegal XML control characters as &#xHH;
---
 .../java/org/apache/maven/shared/utils/xml/XMLEncode.java     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java 
b/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
index 44b6dd9..18e9a5c 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
@@ -109,7 +109,13 @@ final class XMLEncode {
                     break;
 
                 default:
-                    n.append(c);
+                    if (c < 0x20 && c != 0x09 && c != 0x0A && c != 0x0D) {
+                        n.append("&#x");
+                        n.append(Integer.toHexString(c));
+                        n.append(';');
+                    } else {
+                        n.append(c);
+                    }
                     break;
             }
         }
@@ -145,6 +151,9 @@ final class XMLEncode {
             if (c == '&' || c == '<') {
                 return true;
             }
+            if (c < 0x20 && c != 0x09 && c != 0x0A && c != 0x0D) {
+                return true;
+            }
         }
         return false;
     }

Reply via email to