[TD-1939]<fix>: possible crash in wildcard query
This commit is contained in:
parent
4482aef905
commit
b8d48e8ea0
|
@ -2311,7 +2311,11 @@ void filterPrepare(void* expr, void* param) {
|
||||||
if (pInfo->optr == TSDB_RELATION_IN) {
|
if (pInfo->optr == TSDB_RELATION_IN) {
|
||||||
pInfo->q = (char*) pCond->arr;
|
pInfo->q = (char*) pCond->arr;
|
||||||
} else {
|
} else {
|
||||||
pInfo->q = calloc(1, pSchema->bytes + TSDB_NCHAR_SIZE); // to make sure tonchar does not cause invalid write, since the '\0' needs at least sizeof(wchar_t) space.
|
uint32_t size = pCond->nLen * TSDB_NCHAR_SIZE;
|
||||||
|
if (size < (uint32_t)pSchema->bytes) {
|
||||||
|
size = pSchema->bytes;
|
||||||
|
}
|
||||||
|
pInfo->q = calloc(1, size + TSDB_NCHAR_SIZE); // to make sure tonchar does not cause invalid write, since the '\0' needs at least sizeof(wchar_t) space.
|
||||||
tVariantDump(pCond, pInfo->q, pSchema->type, true);
|
tVariantDump(pCond, pInfo->q, pSchema->type, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue