fix:compare func for topic & doublue free in taosArrayRemoveDuplicateP for topic

This commit is contained in:
cyang 2023-02-21 00:54:34 +08:00
parent 16bc8cb5df
commit ad56390a08
3 changed files with 5 additions and 4 deletions

View File

@ -626,7 +626,7 @@ static int32_t mndProcessSubscribeReq(SRpcMsg *pMsg) {
} else {
char *oldTopic = taosArrayGetP(pConsumerOld->currentTopics, i);
char *newTopic = taosArrayGetP(newSub, j);
int comp = compareLenPrefixedStr(oldTopic, newTopic);
int comp = strcmp(oldTopic, newTopic);
if (comp == 0) {
i++;
j++;

View File

@ -133,13 +133,14 @@ void taosArrayRemoveDuplicate(SArray* pArray, __compar_fn_t comparFn, void (*fp)
// do nothing
} else {
if (pos + 1 != i) {
void* p = taosArrayGet(pArray, pos + 1);
void* p = taosArrayGetp(pArray, pos + 1);
if (fp != NULL) {
fp(p);
}
taosArraySet(pArray, pos + 1, p2);
pos += 1;
memset(TARRAY_GET_ELEM(pArray, i), 0, pArray->elemSize);
pos += 1;
} else {
pos += 1;
}

View File

@ -1232,7 +1232,7 @@ int32_t taosArrayCompareString(const void *a, const void *b) {
const char *x = *(const char **)a;
const char *y = *(const char **)b;
return compareLenPrefixedStr(x, y);
return strcmp(x, y);
}
int32_t comparestrPatternMatch(const void *pLeft, const void *pRight) {