From 5feb4106abbe845698fbe969d78cfbf0c04cc0c4 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Fri, 27 Aug 2021 18:17:35 +0800 Subject: [PATCH] [TD-6167] add null pointer protection --- src/client/src/tscPrepare.c | 7 +++++-- tests/script/api/stmt.c | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/client/src/tscPrepare.c b/src/client/src/tscPrepare.c index 36dd60c4fe..3b13f6435d 100644 --- a/src/client/src/tscPrepare.c +++ b/src/client/src/tscPrepare.c @@ -1783,7 +1783,9 @@ int taos_stmt_set_tbname(TAOS_STMT* stmt, const char* name) { int taos_stmt_close(TAOS_STMT* stmt) { STscStmt* pStmt = (STscStmt*)stmt; - STMT_CHECK + if (pStmt == NULL || pStmt->taos == NULL) { + STMT_RET(TSDB_CODE_TSC_DISCONNECTED); + } if (!pStmt->isInsert) { SNormalStmt* normal = &pStmt->normal; if (normal->params != NULL) { @@ -1812,7 +1814,7 @@ int taos_stmt_close(TAOS_STMT* stmt) { } } - tscFreeSqlObj(pStmt->pSql); + taos_free_result(pStmt->pSql); tfree(pStmt); STMT_RET(TSDB_CODE_SUCCESS); } @@ -1986,6 +1988,7 @@ TAOS_RES *taos_stmt_use_result(TAOS_STMT* stmt) { return NULL; } TAOS_RES* result = pStmt->pSql; + pStmt->pSql = NULL; return result; } diff --git a/tests/script/api/stmt.c b/tests/script/api/stmt.c index 168d281f70..baf40c1421 100644 --- a/tests/script/api/stmt.c +++ b/tests/script/api/stmt.c @@ -465,6 +465,7 @@ void taos_stmt_use_result_query(void *taos, char *col, int type) { TAOS_RES *result = taos_stmt_use_result(stmt); assert(result != NULL); print_result(result); + taos_free_result(result); assert(taos_stmt_close(stmt) == 0); free(params); free(stmt_sql); -- GitLab