From abab1ab01e4b386750e72a1223589fc8ecbc82d1 Mon Sep 17 00:00:00 2001 From: congzhou2603 Date: Fri, 21 Mar 2025 16:06:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90bugfix=E3=80=91=E4=BF=AE=E5=A4=8Dshare?= =?UTF-8?q?d=5Fbuffer=E9=85=8D=E7=BD=AE=E8=BF=87=E5=A4=A7=E6=97=B6?= =?UTF-8?q?=EF=BC=8Cdms=E5=88=9D=E5=A7=8B=E5=8C=96=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bin/psql/mainloop.cpp | 2 ++ src/gausskernel/ddes/adapter/ss_dms_callback.cpp | 13 +++++++++---- src/gausskernel/ddes/ddes_commit_id | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/bin/psql/mainloop.cpp b/src/bin/psql/mainloop.cpp index 207d9e9a5a..4420f16651 100644 --- a/src/bin/psql/mainloop.cpp +++ b/src/bin/psql/mainloop.cpp @@ -119,6 +119,8 @@ static void JudgeEndStateInBFormat(const char* inputLine, bool &is_b_format, cha if (reset_check_after_reconn) { is_just_one_check = false; is_just_two_check = false; + free(inputLine_temp); + inputLine_temp =NULL; return; } diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index 583bafbd78..e2e47fd761 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -1231,10 +1231,15 @@ static void CBDMSMemFree(void *pointer) static void *CBDrcMemAlloc(size_t size) { void *ptr = NULL; - ptr = palloc_huge(DMSDrcContext, size); + if (AllocSizeIsValid(size)) { + ptr = MemoryContextAlloc(DMSDrcContext, size); + } else { + ptr = palloc_huge(DMSDrcContext, size); + } if (ptr == NULL) { - ereport(FATAL, (errmsg("Failed to allocate memory for DMSDrcContext."))); + ereport(FATAL, (errmsg("Failed to allocate memory for DMSMemContext."))); } + return ptr; } @@ -2603,8 +2608,8 @@ void DmsInitCallback(dms_callback_t *callback) callback->mem_free = CBMemFree; callback->mem_reset = CBMemReset; - callback->dms_malloc_prot = CBDMSMemAlloc; - callback->dms_free_prot = CBDMSMemFree; + callback->dms_malloc_prot = CBDrcMemAlloc; + callback->dms_free_prot = CBDrcMemFree; callback->drc_malloc_prot = CBDrcMemAlloc; callback->drc_free_prot = CBDrcMemFree; diff --git a/src/gausskernel/ddes/ddes_commit_id b/src/gausskernel/ddes/ddes_commit_id index eefab2c446..e1e2b3f804 100644 --- a/src/gausskernel/ddes/ddes_commit_id +++ b/src/gausskernel/ddes/ddes_commit_id @@ -1,3 +1,3 @@ -dms_commit_id=39e6fc1ace37fa0ea96bf1410222e1d7be6abdb9 +dms_commit_id=a83ad9aae9ca0ca01942d9100b174b9c1c516f94 dss_commit_id=f88751898d4e1d098c29ee34b8933fd4ed23ba90 cbb_commit_id=0a9fe182799f7cff7a4943b3c09c87a05326de0c \ No newline at end of file -- Gitee