From c4b47e59cb8bbcd8c9674ea93ef725881a737636 Mon Sep 17 00:00:00 2001
From: Neil Graham <neilg@apache.org>
Date: Wed, 17 Dec 2003 20:42:16 +0000
Subject: [PATCH] fix two overflow conditions

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175598 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/util/XMLBigDecimal.cpp | 5 ++++-
 src/xercesc/util/XMLBigInteger.cpp | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/xercesc/util/XMLBigDecimal.cpp b/src/xercesc/util/XMLBigDecimal.cpp
index 7ed67d838..3abe3fb9c 100644
--- a/src/xercesc/util/XMLBigDecimal.cpp
+++ b/src/xercesc/util/XMLBigDecimal.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.17  2003/12/17 20:42:16  neilg
+ * fix two overflow conditions
+ *
  * Revision 1.16  2003/12/17 00:18:35  cargilld
  * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.
  *
@@ -241,7 +244,7 @@ void XMLBigDecimal::setDecimalValue(const XMLCh* const strValue)
 XMLCh* XMLBigDecimal::getCanonicalRepresentation(const XMLCh*         const rawData
                                                ,       MemoryManager* const memMgr)
 {
-    XMLCh* retBuf = (XMLCh*) memMgr->allocate( XMLString::stringLen(rawData) * sizeof(XMLCh));
+    XMLCh* retBuf = (XMLCh*) memMgr->allocate( (XMLString::stringLen(rawData)+1) * sizeof(XMLCh));
     ArrayJanitor<XMLCh> janName(retBuf, memMgr);
     int   sign, totalDigits, fractDigits;
 
diff --git a/src/xercesc/util/XMLBigInteger.cpp b/src/xercesc/util/XMLBigInteger.cpp
index 952eb0b34..1601cf1fc 100644
--- a/src/xercesc/util/XMLBigInteger.cpp
+++ b/src/xercesc/util/XMLBigInteger.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.9  2003/12/17 20:42:16  neilg
+ * fix two overflow conditions
+ *
  * Revision 1.8  2003/12/17 00:18:35  cargilld
  * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.
  *
@@ -119,7 +122,7 @@ XERCES_CPP_NAMESPACE_BEGIN
 XMLCh* XMLBigInteger::getCanonicalRepresentation(const XMLCh*         const rawData
                                                ,       MemoryManager* const memMgr)
 {
-    XMLCh* retBuf = (XMLCh*) memMgr->allocate( XMLString::stringLen(rawData) * sizeof(XMLCh));
+    XMLCh* retBuf = (XMLCh*) memMgr->allocate( (XMLString::stringLen(rawData)+1) * sizeof(XMLCh));
     int    sign = 0;
 
     XMLBigInteger::parseBigInteger(rawData, retBuf, sign);
-- 
GitLab