coverity#736938 Copy into fixed size buffer
Change-Id: If706e57343a9c81b7d31d8e018450a151d38ad49
This commit is contained in:
@@ -474,16 +474,15 @@ HuffmanTreeNode::~HuffmanTreeNode()
|
|||||||
HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char * pInCode)
|
HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char * pInCode)
|
||||||
{
|
{
|
||||||
HuffmanTreeNode *pNew = new HuffmanTreeNode(nValue);
|
HuffmanTreeNode *pNew = new HuffmanTreeNode(nValue);
|
||||||
sal_Char pCode[32];
|
std::string aCode(pInCode);
|
||||||
strcpy(pCode, pInCode );
|
|
||||||
|
|
||||||
// query its parents
|
// query its parents
|
||||||
sal_Char cLast = pCode[strlen(pCode) - 1];
|
const sal_Char cLast = aCode.back();
|
||||||
pCode[strlen(pCode) - 1] = '\0';
|
aCode.pop_back();
|
||||||
HuffmanTreeNode * pParent = QueryNode(pCode);
|
HuffmanTreeNode * pParent = QueryNode(aCode.c_str());
|
||||||
if (!pParent)
|
if (!pParent)
|
||||||
{
|
{
|
||||||
pParent = InsertNode(0xffffffff, pCode);
|
pParent = InsertNode(0xffffffff, aCode.c_str());
|
||||||
}
|
}
|
||||||
if (cLast == '0')
|
if (cLast == '0')
|
||||||
pParent->left = pNew;
|
pParent->left = pNew;
|
||||||
@@ -492,6 +491,7 @@ HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char
|
|||||||
|
|
||||||
return pNew;
|
return pNew;
|
||||||
}
|
}
|
||||||
|
|
||||||
HuffmanTreeNode * HuffmanTreeNode::QueryNode(const sal_Char * pCode)
|
HuffmanTreeNode * HuffmanTreeNode::QueryNode(const sal_Char * pCode)
|
||||||
{
|
{
|
||||||
sal_uInt32 nLen = strlen(pCode);
|
sal_uInt32 nLen = strlen(pCode);
|
||||||
|
Reference in New Issue
Block a user