From ce27353cd2179e08c0c08f77bc3e84b484b0410a Mon Sep 17 00:00:00 2001 From: dapan1121 <89396746@qq.com> Date: Tue, 5 Jan 2021 13:25:33 +0800 Subject: [PATCH] fix bug --- src/os/inc/osMemory.h | 5 ++++- src/os/src/detail/osMemory.c | 2 +- src/query/src/qExecutor.c | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/os/inc/osMemory.h b/src/os/inc/osMemory.h index 83bc33cac5..e328009770 100644 --- a/src/os/inc/osMemory.h +++ b/src/os/inc/osMemory.h @@ -101,7 +101,10 @@ void tdminit(); #define TDMALLOC(s) tdmalloc(__FILE__, __LINE__, s,0) #define TDMCALLOC(s) tdmalloc(__FILE__, __LINE__, s,1) #define TDMREALLOC(p,s) tdmrealloc(p,s) -#define TDMFREE(p) tdmfree((void *)p) +#define TDMFREE(p) do { if(p) \ + {tdmfree((void *)p); \ + p = 0; } \ + } while (0) #ifdef __cplusplus diff --git a/src/os/src/detail/osMemory.c b/src/os/src/detail/osMemory.c index 4fe4fb85e7..49b5e30be4 100644 --- a/src/os/src/detail/osMemory.c +++ b/src/os/src/detail/osMemory.c @@ -624,7 +624,7 @@ void tdmfree(void *p){ memset((void *)((long)p-24), 0, 24); free(fp); fp=0; - }else{ + }else if(p){ //printf("direct free %p\n", p); atomic_add_fetch_64(&tdm_stat.normalfn, 1); free(p); diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index feba941b81..65b07e3754 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -6820,7 +6820,7 @@ static void freeColumnFilterInfo(SColumnFilterInfo* pFilter, int32_t numOfFilter for (int32_t i = 0; i < numOfFilters; i++) { if (pFilter[i].filterstr) { - TDMFREE((void*)(pFilter[i].pz)); + TDMFREE(pFilter[i].pz); } } @@ -7717,4 +7717,4 @@ void** qReleaseQInfo(void* pMgmt, void* pQInfo, bool freeHandle) { taosCacheRelease(pQueryMgmt->qinfoPool, pQInfo, freeHandle); return 0; -} \ No newline at end of file +} -- GitLab