diff --git a/source/util/src/tcompare.c b/source/util/src/tcompare.c index f6878ee7c2..f9bea3b947 100644 --- a/source/util/src/tcompare.c +++ b/source/util/src/tcompare.c @@ -1401,12 +1401,11 @@ int32_t threadGetRegComp(regex_t **regex, const char *pPattern) { if (ppRegex == NULL) { return 1; } - pOldPattern = (char *)taosMemoryMalloc(strlen(pPattern) + 1); + pOldPattern = taosStrdup(pPattern); if (NULL == pOldPattern) { uError("Failed to Malloc when compile regex pattern %s.", pPattern); return TSDB_CODE_OUT_OF_MEMORY; } - strcpy(pOldPattern, pPattern); ppUsingRegex = ppRegex; pRegex = &((*ppUsingRegex)->pRegex); *regex = &(*ppRegex)->pRegex;