修复release版本 fuzz测试发现core问题

Offering: openGaussDev

More detail: 修复release版本 fuzz测试发现core问题

Match-id-e829d6e129ef91704509e304d32acb322ad9c69f
This commit is contained in:
openGaussDev
2022-03-05 16:13:31 +08:00
committed by yanghao
parent b43c4be304
commit 91c2c64911

View File

@ -4365,10 +4365,11 @@ static char* mask_Password_internal(const char* query_string)
if (subQueryLen < childStmtLen) {
/* Need more space, enlarge length is (childStmtLen - subQueryLen) */
maskStringLen += (childStmtLen - subQueryLen) + 1;
char* maskStrNew = (char*)selfpalloc0(maskStringLen);
char* maskStrNew = (char*)MemoryContextAllocZero(
SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_SECURITY), maskStringLen);
rc = memcpy_s(maskStrNew, maskStringLen, mask_string, strlen(mask_string));
securec_check(rc, "\0", "\0");
selfpfree(mask_string);
pfree_ext(mask_string);
mask_string = maskStrNew;
}
@ -4463,10 +4464,11 @@ static char* mask_Password_internal(const char* query_string)
if (length[i] < maskLen) {
/* need more space. */
int plen = strlen(mask_string) + maskLen - length[i] + 1;
char* maskStrNew = (char*)selfpalloc0(plen);
char* maskStrNew = (char*)MemoryContextAllocZero(
SESS_GET_MEM_CXT_GROUP(MEMORY_CONTEXT_SECURITY), plen);
rc = memcpy_s(maskStrNew, plen, mask_string, strlen(mask_string));
securec_check(rc, "\0", "\0");
selfpfree(mask_string);
pfree_ext(mask_string);
mask_string = maskStrNew;
}