From 3565e85368ee19c21d0cea145733b071115abdfa Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 5 Jan 2024 09:37:48 +0100 Subject: [PATCH] mx_mysql: mx_mysql_statement_close*: Allow NULL Allow mx_mysql_statement_close* functions to be called with a pointer to a NULL value. This makes the daemon more robust when the functions are used as cleanup functions, e.g. __attribute__((cleanup(mx_mysql_statement_close))) struct mx_mysql_stmt *stmt = mx_mysql_statement_prepare(mysql,"..."); if (!stmt) { fprintf(stderr, "mx_mysql_stmt_prepare: %s\n", mx_mysql_error()); return; } --- mx_mysql.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mx_mysql.c b/mx_mysql.c index 686eb0c4..b18a6e4b 100644 --- a/mx_mysql.c +++ b/mx_mysql.c @@ -1154,8 +1154,8 @@ struct mx_mysql_stmt *mx_mysql_statement_prepare(struct mx_mysql *mysql, char *s int mx_mysql_statement_close(struct mx_mysql_stmt **stmt) { - assert(stmt); - assert(*stmt); + if (*stmt == NULL) + return 0; mx__mysql_stmt_free_result(*stmt); mx__mysql_stmt_close(*stmt); @@ -1169,8 +1169,8 @@ int mx_mysql_statement_close(struct mx_mysql_stmt **stmt) int mx_mysql_statement_close_no_bind_cleanup(struct mx_mysql_stmt **stmt) { - assert(stmt); - assert(*stmt); + if (*stmt == NULL) + return 0; mx__mysql_stmt_free_result(*stmt); mx__mysql_stmt_close(*stmt);