summaryrefslogtreecommitdiff
path: root/lotuswordpro/source/filter/explode.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-01-08 17:20:07 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-01-08 17:27:52 +0000
commitd9e3835a550b13e05a26bb86e0d808d94dcd6f18 (patch)
treebd4abf9ee58a7fecad48112ae9a67da662532086 /lotuswordpro/source/filter/explode.cxx
parentf1ac93475e4d4357ea93769da186a406ec393498 (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.cxx12
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);