瀏覽代碼

HPCC-22916 Fix undefined use of memcpy nullptr

Signed-off-by: Jake Smith <jake.smith@lexisnexisrisk.com>
Jake Smith 5 年之前
父節點
當前提交
375017369e
共有 1 個文件被更改,包括 5 次插入2 次删除
  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;
     }