From c859b1ff7f47f186c4c20feb64fd5e6a048e09d2 Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Sun, 15 Aug 2021 23:01:57 +0800 Subject: [PATCH] [TD-6054]: Filtered by tag with nchar value not as expected --- src/util/src/tcompare.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/util/src/tcompare.c b/src/util/src/tcompare.c index 1043ee4c37..ee367b459c 100644 --- a/src/util/src/tcompare.c +++ b/src/util/src/tcompare.c @@ -156,14 +156,16 @@ int32_t compareLenPrefixedWStr(const void *pLeft, const void *pRight) { if (len1 != len2) { return len1 > len2? 1:-1; } else { - char pLeftTerm[len1 + 1]; - char pRightTerm[len2 + 1]; - memset(pLeftTerm, 0, len1 + 1); - memset(pRightTerm, 0, len2 + 1); + char *pLeftTerm = (char *)tcalloc(len1 + 1, sizeof(char)); + char *pRightTerm = (char *)tcalloc(len1 + 1, sizeof(char)); memcpy(pLeftTerm, varDataVal(pLeft), len1); memcpy(pRightTerm, varDataVal(pRight), len2); int32_t ret = wcsncmp((void *)pLeftTerm, (void *)pRightTerm, len1/TSDB_NCHAR_SIZE); + + tfree(pLeftTerm); + tfree(pRightTerm); + if (ret == 0) { return 0; } else {