diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index c8207cb986e92707101f391252e12e175a073c82..f33d739ba1f41e22c90ee33f6cc6133febbe0bee 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -6032,12 +6032,15 @@ void qDestroyQueryInfo(qinfo_t qHandle) { qDebug("QInfo:%p dec refCount, value:%d", pQInfo, ref); if (ref == 0) { - if (pQInfo->fn != NULL) { - assert(pQInfo->param != NULL); - pQInfo->fn(pQInfo->param); - } + _qinfo_free_fn_t fn = pQInfo->fn; + void* param = pQInfo->param; doDestoryQueryInfo(pQInfo); + if (fn != NULL) { + assert(param != NULL); + fn(param); + } + } }