diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-01-08 17:20:07 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-01-08 17:27:52 +0000 |
commit | d9e3835a550b13e05a26bb86e0d808d94dcd6f18 (patch) | |
tree | bd4abf9ee58a7fecad48112ae9a67da662532086 /lotuswordpro/source/filter/explode.cxx | |
parent | f1ac93475e4d4357ea93769da186a406ec393498 (diff) |
coverity#736938 Copy into fixed size buffer
Change-Id: If706e57343a9c81b7d31d8e018450a151d38ad49
Diffstat (limited to 'lotuswordpro/source/filter/explode.cxx')
-rw-r--r-- | lotuswordpro/source/filter/explode.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lotuswordpro/source/filter/explode.cxx b/lotuswordpro/source/filter/explode.cxx index 0d8515a967c7..edaad856836c 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); |