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