From 4680eee72f9d8266c044c726f7c313c2376a7045 Mon Sep 17 00:00:00 2001 From: marko Date: Mon, 13 Oct 2008 10:21:02 +0000 Subject: [PATCH] branches/5.1: Backport a fix from branches/zip r2763: row_drop_database_for_mysql(): Postpone mem_free(table_name), so that an error printout will not dereference freed memory. --- row/row0mysql.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/row/row0mysql.c b/row/row0mysql.c index a3e2549f517..c3183d05e3f 100644 --- a/row/row0mysql.c +++ b/row/row0mysql.c @@ -3441,8 +3441,6 @@ loop: err = row_drop_table_for_mysql(table_name, trx, TRUE); - mem_free(table_name); - if (err != DB_SUCCESS) { fputs("InnoDB: DROP DATABASE ", stderr); ut_print_name(stderr, trx, TRUE, name); @@ -3450,8 +3448,11 @@ loop: (ulint) err); ut_print_name(stderr, trx, TRUE, table_name); putc('\n', stderr); + mem_free(table_name); break; } + + mem_free(table_name); } if (err == DB_SUCCESS) {