Bläddra i källkod

HPCC-22916 Fix undefined use of memcpy nullptr

Signed-off-by: Jake Smith <jake.smith@lexisnexisrisk.com>
Jake Smith 5 år sedan
förälder
incheckning
375017369e
1 ändrade filer med 5 tillägg och 2 borttagningar
  1. 5 2
      system/jlib/jptree.cpp

+ 5 - 2
system/jlib/jptree.cpp

@@ -3238,13 +3238,16 @@ void CAtomPTree::setAttribute(const char *key, const char *val)
     {
         CriticalBlock block(hashcrit);
         AttrValue *newattrs = newAttrArray(numAttrs+1);
-        memcpy(newattrs, attrs, numAttrs*sizeof(AttrValue));
+        if (attrs)
+        {
+            memcpy(newattrs, attrs, numAttrs*sizeof(AttrValue));
+            freeAttrArray(attrs, numAttrs);
+        }
         v = &newattrs[numAttrs];
         if (!v->key.set(key))
             v->key.setPtr(attrHT->addkey(key, isnocase()));
         if (!v->value.set(val))
             v->value.setPtr(attrHT->addval(val));
-        freeAttrArray(attrs, numAttrs);
         numAttrs++;
         attrs = newattrs;
     }