From 91c2c64911f3ea965587f8f237a44f0476878f8a Mon Sep 17 00:00:00 2001 From: openGaussDev Date: Sat, 5 Mar 2022 16:13:31 +0800 Subject: [PATCH] =?UTF-8?q?=20=E4=BF=AE=E5=A4=8Drelease=E7=89=88=E6=9C=AC?= =?UTF-8?q?=20fuzz=E6=B5=8B=E8=AF=95=E5=8F=91=E7=8E=B0core=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Offering: openGaussDev More detail: 修复release版本 fuzz测试发现core问题 Match-id-e829d6e129ef91704509e304d32acb322ad9c69f --- src/common/backend/utils/error/elog.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/common/backend/utils/error/elog.cpp b/src/common/backend/utils/error/elog.cpp index f517e3500..d5525a58f 100644 --- a/src/common/backend/utils/error/elog.cpp +++ b/src/common/backend/utils/error/elog.cpp @@ -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; }