[Libreoffice-commits] core.git: lotuswordpro/source

Caolán McNamara caolanm at redhat.com
Sun Jan 8 18:32:16 UTC 2017


 lotuswordpro/source/filter/explode.cxx |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit d9e3835a550b13e05a26bb86e0d808d94dcd6f18
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Jan 8 17:20:07 2017 +0000

    coverity#736938 Copy into fixed size buffer
    
    Change-Id: If706e57343a9c81b7d31d8e018450a151d38ad49

diff --git a/lotuswordpro/source/filter/explode.cxx b/lotuswordpro/source/filter/explode.cxx
index 0d8515a..edaad85 100644
--- a/lotuswordpro/source/filter/explode.cxx
+++ b/lotuswordpro/source/filter/explode.cxx
@@ -474,16 +474,15 @@ HuffmanTreeNode::~HuffmanTreeNode()
 HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char * pInCode)
 {
     HuffmanTreeNode *pNew = new HuffmanTreeNode(nValue);
-    sal_Char pCode[32];
-        strcpy(pCode, pInCode );
+    std::string aCode(pInCode);
 
     // query its parents
-    sal_Char cLast = pCode[strlen(pCode) - 1];
-    pCode[strlen(pCode) - 1] = '\0';
-    HuffmanTreeNode * pParent = QueryNode(pCode);
+    const sal_Char cLast = aCode.back();
+    aCode.pop_back();
+    HuffmanTreeNode * pParent = QueryNode(aCode.c_str());
     if (!pParent)
     {
-        pParent = InsertNode(0xffffffff, pCode);
+        pParent = InsertNode(0xffffffff, aCode.c_str());
     }
     if (cLast == '0')
         pParent->left = pNew;
@@ -492,6 +491,7 @@ HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char
 
     return pNew;
 }
+
 HuffmanTreeNode * HuffmanTreeNode::QueryNode(const sal_Char * pCode)
 {
     sal_uInt32 nLen = strlen(pCode);


More information about the Libreoffice-commits mailing list