diff --git a/src/xercesc/util/XMLAbstractDoubleFloat.cpp b/src/xercesc/util/XMLAbstractDoubleFloat.cpp
index b1000f24cbeb08c3f6335b495adf4b87e8550716..5d869069ea2e808add7c00737100192975102cc0 100644
--- a/src/xercesc/util/XMLAbstractDoubleFloat.cpp
+++ b/src/xercesc/util/XMLAbstractDoubleFloat.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.15  2003/09/25 15:23:25  peiyongz
+ * add sizeof(XMLCh) when allocating memory
+ *
  * Revision 1.14  2003/09/23 18:16:07  peiyongz
  * Inplementation for Serialization/Deserialization
  *
@@ -465,7 +468,7 @@ void XMLAbstractDoubleFloat::serialize(XSerializeEngine& serEng)
 
         int rawDataLen = 0;
         serEng >> rawDataLen;
-        fRawData = (XMLCh*) fMemoryManager->allocate(rawDataLen+1);
+        fRawData = (XMLCh*) fMemoryManager->allocate((rawDataLen+1) * sizeof(XMLCh));
         serEng.read(fRawData, rawDataLen);
         fRawData[rawDataLen] = 0;
 
diff --git a/src/xercesc/util/XMLBigDecimal.cpp b/src/xercesc/util/XMLBigDecimal.cpp
index 888a44ad31f334f89e64bffce7d85de6fc8d6eab..613d95e9f6d489b1ea32b095d61bbf46e4ef6b12 100644
--- a/src/xercesc/util/XMLBigDecimal.cpp
+++ b/src/xercesc/util/XMLBigDecimal.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.12  2003/09/25 15:23:25  peiyongz
+ * add sizeof(XMLCh) when allocating memory
+ *
  * Revision 1.11  2003/09/23 18:16:07  peiyongz
  * Inplementation for Serialization/Deserialization
  *
@@ -403,13 +406,13 @@ void XMLBigDecimal::serialize(XSerializeEngine& serEng)
         serEng>>fScale;
         serEng>>fRawDataLen;
 
-        fRawData = (XMLCh*) fMemoryManager->allocate(fRawDataLen+1);
+        fRawData = (XMLCh*) fMemoryManager->allocate((fRawDataLen+1) * sizeof(XMLCh));
         serEng.read(fRawData, fRawDataLen);
         fRawData[fRawDataLen] = 0;
 
         int intValLen = 0;
         serEng>>intValLen;
-        fIntVal = (XMLCh*) fMemoryManager->allocate(intValLen+1);
+        fIntVal = (XMLCh*) fMemoryManager->allocate((intValLen+1) * sizeof(XMLCh));
         serEng.read(fIntVal, intValLen);
         fIntVal[intValLen] = 0;
     }