Important Update:

- DataTreeCore (bug fix):
  - Copy only specified number of chars for Name in constructor
  - Copy only specified number of chars for value in SetValue
This commit is contained in:
Charl Wentzel
2020-04-29 17:50:03 +02:00
parent 11e3d04f6c
commit d83bc5de93

View File

@@ -17,12 +17,12 @@
CDataMember::CDataMember( const char * pName, const int pLen ) CDataMember::CDataMember( const char * pName, const int pLen )
{ {
if (pName) { if (pName) {
Name = strdup( pName );
NameLen = (pLen == -1)? strlen( pName ) : pLen ; NameLen = (pLen == -1)? strlen( pName ) : pLen ;
Name = strndup( pName, NameLen );
} }
else { else {
Name = NULL;
NameLen = 0; NameLen = 0;
Name = NULL;
} }
Type = jtNull; Type = jtNull;
@@ -41,12 +41,12 @@ CDataMember::CDataMember( const char * pName, const int pLen )
CDataMember::CDataMember( CDataMember * pParent, const char * pName, const int pLen ) CDataMember::CDataMember( CDataMember * pParent, const char * pName, const int pLen )
{ {
if (pName) { if (pName) {
Name = strdup( pName );
NameLen = (pLen == -1)? strlen( pName ) : pLen ; NameLen = (pLen == -1)? strlen( pName ) : pLen ;
Name = strndup( pName, NameLen );
} }
else { else {
Name = NULL;
NameLen = 0; NameLen = 0;
Name = NULL;
} }
Type = jtNull; Type = jtNull;
@@ -372,8 +372,8 @@ bool CDataMember::SetValue( EJsonDataType pType, const char * pValue, int pLen
// Set new primitive value // Set new primitive value
if ((pType == jtString) || (pType == jtFloat) || (pType == jtInt) || (pType == jtBool)) if ((pType == jtString) || (pType == jtFloat) || (pType == jtInt) || (pType == jtBool))
{ {
Value = strdup( pValue );
Len = (pLen == -1)? strlen(pValue) : pLen; Len = (pLen == -1)? strlen(pValue) : pLen;
Value = strndup( pValue, Len );
} }
return true; return true;
} }