From 57dd892ce8dc93bcd7eee953e01ebe8ed7e414c8 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 5 Mar 2019 00:32:04 +0100 Subject: fix memory leaks in mysql_client_test This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs --- tests/mysql_client_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index d12ca2ab96a..9c64342954a 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -18426,6 +18426,7 @@ static void test_bug42373() DIE_UNLESS(rc == 1); mysql_stmt_close(stmt); + mysql_close(&con); /* Now try with a multi-statement. */ DIE_UNLESS(mysql_client_init(&con)); @@ -18888,8 +18889,6 @@ static void test_progress_reporting() conn= client_connect(CLIENT_PROGRESS_OBSOLETE, MYSQL_PROTOCOL_TCP, 0); - if (!(conn->server_capabilities & CLIENT_PROGRESS_OBSOLETE)) - return; DIE_UNLESS(conn->client_flag & CLIENT_PROGRESS_OBSOLETE); mysql_options(conn, MYSQL_PROGRESS_CALLBACK, (void*) report_progress); @@ -19739,6 +19738,7 @@ static void test_bulk_delete() DIE_IF(atoi(row[0]) != 3); } DIE_IF(i != 1); + mysql_free_result(result); rc= mysql_query(mysql, "DROP TABLE t1"); myquery(rc); -- cgit v1.2.1 From 2bd204b965efbd371674d7c718b9c106c04ba933 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 6 Mar 2019 11:41:22 +0100 Subject: fix memory leaks in mysql_client_test This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs --- tests/mysql_client_test.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 08fd003a919..6c5efd72c40 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -20166,6 +20166,7 @@ static void test_proxy_header_tcp(const char *ipaddr, int port) printf("%.*s %.*s\n", (int)addrlen, row[0], (int)addrlen, normalized_addr); DIE_UNLESS(strncmp(row[0], normalized_addr, addrlen) == 0); DIE_UNLESS(atoi(row[0] + addrlen+1) == port); + mysql_free_result(result); mysql_close(m); } sprintf(query,"DROP USER 'u'@'%s'",normalized_addr); @@ -20204,6 +20205,7 @@ static void test_proxy_header_localhost() mytest(result); row = mysql_fetch_row(result); DIE_UNLESS(strcmp(row[0], "localhost") == 0); + mysql_free_result(result); mysql_close(m); rc = mysql_query(mysql, "DROP USER 'u'@'localhost'"); myquery(rc); @@ -20301,6 +20303,7 @@ static void test_bulk_autoinc() { DIE_IF(atoi(row[0]) != id[i++]); } + mysql_free_result(result); rc= mysql_query(mysql, "DROP TABLE ai_field_value"); myquery(rc); } @@ -20416,6 +20419,7 @@ static void test_explain_meta() mct_close_log(); DIE("num_fields != 1"); } + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "EXPLAIN SELECT 1"); @@ -20432,6 +20436,7 @@ static void test_explain_meta() DIE("num_fields != 10"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "EXPLAIN format=json SELECT 1"); @@ -20448,6 +20453,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20465,6 +20471,7 @@ static void test_explain_meta() DIE("num_fields != 13"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "ANALYZE format=json SELECT 1"); @@ -20481,6 +20488,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); rc= mysql_query(mysql, "CREATE TABLE t1 (a int)"); @@ -20500,6 +20508,7 @@ static void test_explain_meta() DIE("num_fields != 10"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "EXPLAIN format=json INSERT INTO t1 values(1)"); @@ -20516,6 +20525,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20533,6 +20543,7 @@ static void test_explain_meta() DIE("num_fields != 13"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "ANALYZE format=json INSERT INTO t1 values(1)"); @@ -20549,6 +20560,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20566,6 +20578,7 @@ static void test_explain_meta() DIE("num_fields != 10"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "EXPLAIN format=json UPDATE t1 set a=2"); @@ -20582,6 +20595,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20599,6 +20613,7 @@ static void test_explain_meta() DIE("num_fields != 13"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "ANALYZE format=json UPDATE t1 set a=2"); @@ -20615,6 +20630,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20632,6 +20648,7 @@ static void test_explain_meta() DIE("num_fields != 10"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "EXPLAIN format=json DELETE FROM t1"); @@ -20648,6 +20665,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); @@ -20665,6 +20683,7 @@ static void test_explain_meta() DIE("num_fields != 13"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); strmov(query, "ANALYZE format=json DELETE FROM t1"); @@ -20681,6 +20700,7 @@ static void test_explain_meta() DIE("num_fields != 1"); } print_metadata(rs_metadata, num_fields); + mysql_free_result(rs_metadata); mysql_stmt_close(stmt); rc= mysql_query(mysql, "DROP TABLE t1"); -- cgit v1.2.1