From 650fb68872572971e14ab192a6e23b74ebcce3bb Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Thu, 8 Jul 2004 19:34:23 +0000
Subject: [PATCH] set() and append() were not NULL-terminating the buffer
 (jira#1236)

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175945 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/dom/impl/DOMStringPool.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/xercesc/dom/impl/DOMStringPool.cpp b/src/xercesc/dom/impl/DOMStringPool.cpp
index 7db164d1e..378073320 100644
--- a/src/xercesc/dom/impl/DOMStringPool.cpp
+++ b/src/xercesc/dom/impl/DOMStringPool.cpp
@@ -191,6 +191,9 @@ void DOMBuffer::append(const XMLCh* const chars, const unsigned int count)
         expandCapacity(actualCount);
     memcpy(&fBuffer[fIndex], chars, actualCount * sizeof(XMLCh));
     fIndex += actualCount;
+
+    // Keep it null terminated
+    fBuffer[fIndex] = 0;
 }
 
 void DOMBuffer::set(const XMLCh* const chars, const unsigned int count)
@@ -203,6 +206,9 @@ void DOMBuffer::set(const XMLCh* const chars, const unsigned int count)
         expandCapacity(actualCount);
     memcpy(fBuffer, chars, actualCount * sizeof(XMLCh));
     fIndex = actualCount;
+
+    // Keep it null terminated
+    fBuffer[fIndex] = 0;
 }
 
 
-- 
GitLab