From 6c1361ef80e436aa3ecc03526d700e93a0833e69 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Tue, 15 Nov 2022 13:59:00 +0800 Subject: [PATCH] fix: null pointer check when invoke memcpy --- source/libs/executor/src/tsimplehash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/libs/executor/src/tsimplehash.c b/source/libs/executor/src/tsimplehash.c index 9fbe94200c..484d917069 100644 --- a/source/libs/executor/src/tsimplehash.c +++ b/source/libs/executor/src/tsimplehash.c @@ -93,7 +93,7 @@ static SHNode *doCreateHashNode(const void *key, size_t keyLen, const void *data pNewNode->keyLen = keyLen; pNewNode->dataLen = dataLen; pNewNode->next = NULL; - memcpy(GET_SHASH_NODE_DATA(pNewNode), data, dataLen); + if (data) memcpy(GET_SHASH_NODE_DATA(pNewNode), data, dataLen); memcpy(GET_SHASH_NODE_KEY(pNewNode, dataLen), key, keyLen); return pNewNode; } @@ -203,7 +203,7 @@ int32_t tSimpleHashPut(SSHashObj *pHashObj, const void *key, size_t keyLen, cons pNewNode->next = pHashObj->hashList[slot]; pHashObj->hashList[slot] = pNewNode; atomic_add_fetch_64(&pHashObj->size, 1); - } else { // update data + } else if (data) { // update data memcpy(GET_SHASH_NODE_DATA(pNode), data, dataLen); }