From 63532d0038c460b235e96a40a93751c679ab3dc8 Mon Sep 17 00:00:00 2001 From: wpan Date: Thu, 29 Jul 2021 09:30:20 +0800 Subject: [PATCH] fix bug --- src/client/src/tscServer.c | 1 + src/query/inc/qFilter.h | 2 ++ src/query/src/qFilter.c | 6 ++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index 7b2cc5d298..b7a6ee6e75 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -3105,3 +3105,4 @@ void tscInitMsgsFp() { tscKeepConn[TSDB_SQL_HB] = 1; } + \ No newline at end of file diff --git a/src/query/inc/qFilter.h b/src/query/inc/qFilter.h index d7edefd9cd..75d6f0b745 100644 --- a/src/query/inc/qFilter.h +++ b/src/query/inc/qFilter.h @@ -30,6 +30,8 @@ extern "C" { #define FILTER_DEFAULT_VALUE_SIZE 4 #define FILTER_DEFAULT_GROUP_UNIT_SIZE 2 +#define MAX_NUM_STR_SIZE 40 + enum { FLD_TYPE_COLUMN = 1, FLD_TYPE_VALUE = 2, diff --git a/src/query/src/qFilter.c b/src/query/src/qFilter.c index 605fdd64ce..1aa5ab8437 100644 --- a/src/query/src/qFilter.c +++ b/src/query/src/qFilter.c @@ -1375,9 +1375,11 @@ int32_t filterInitValFieldData(SFilterInfo *info) { } if (type == TSDB_DATA_TYPE_BINARY) { - fi->data = calloc(1, var->nLen + VARSTR_HEADER_SIZE); + size_t len = (var->nType == TSDB_DATA_TYPE_BINARY || var->nType == TSDB_DATA_TYPE_NCHAR) ? var->nLen : MAX_NUM_STR_SIZE; + fi->data = calloc(1, len + 1 + VARSTR_HEADER_SIZE); } else if (type == TSDB_DATA_TYPE_NCHAR) { - fi->data = calloc(1, (var->nLen + VARSTR_HEADER_SIZE) * TSDB_NCHAR_SIZE); + size_t len = (var->nType == TSDB_DATA_TYPE_BINARY || var->nType == TSDB_DATA_TYPE_NCHAR) ? var->nLen : MAX_NUM_STR_SIZE; + fi->data = calloc(1, (len + 1) * TSDB_NCHAR_SIZE + VARSTR_HEADER_SIZE); } else { if (var->nType == TSDB_DATA_TYPE_VALUE_ARRAY) { //TIME RANGE fi->data = calloc(var->nLen, tDataTypes[type].bytes); -- GitLab