From 6dd4a54339d15daa268b1b1352df36aadb338945 Mon Sep 17 00:00:00 2001 From: afwerar <1296468573@qq.com> Date: Tue, 26 Apr 2022 16:23:51 +0800 Subject: [PATCH] fix(shell): memory free error. --- source/dnode/mgmt/exe/dmMain.c | 1 + source/os/src/osMemory.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/source/dnode/mgmt/exe/dmMain.c b/source/dnode/mgmt/exe/dmMain.c index 5983ba92ac..6d9ead4c87 100644 --- a/source/dnode/mgmt/exe/dmMain.c +++ b/source/dnode/mgmt/exe/dmMain.c @@ -68,6 +68,7 @@ static void dmSetSignalHandle() { static int32_t dmParseArgs(int32_t argc, char const *argv[]) { int32_t cmdEnvIndex = 0; + if (argc < 2) return 0; global.envCmd = taosMemoryMalloc(argc-1); memset(global.envCmd, 0, argc-1); for (int32_t i = 1; i < argc; ++i) { diff --git a/source/os/src/osMemory.c b/source/os/src/osMemory.c index 5b733daec2..2c45a14033 100644 --- a/source/os/src/osMemory.c +++ b/source/os/src/osMemory.c @@ -82,6 +82,8 @@ int32_t taosBackTrace(void **buffer, int32_t size) { #endif void *taosMemoryMalloc(int32_t size) { + if (size == 0) return NULL; + #ifdef USE_TD_MEMORY void *tmp = malloc(size + sizeof(TdMemoryInfo)); if (tmp == NULL) return NULL; -- GitLab