Commit 30c7d20a authored by unknown's avatar unknown

Fix segmentation fault in mysqlcheck when the last table

checked with --auto-repair mode returned an error (such
as being a merge table). (Bug #9492)


client/mysqlcheck.c:
  When testing whether the last table should be added to the list of tables to
  be repaired, we don't have a valid row[] to look at, so don't.
parent a93b0b59
...@@ -537,6 +537,7 @@ static void print_result() ...@@ -537,6 +537,7 @@ static void print_result()
my_bool found_error=0; my_bool found_error=0;
res = mysql_use_result(sock); res = mysql_use_result(sock);
prev[0] = '\0'; prev[0] = '\0';
for (i = 0; (row = mysql_fetch_row(res)); i++) for (i = 0; (row = mysql_fetch_row(res)); i++)
{ {
...@@ -565,7 +566,7 @@ static void print_result() ...@@ -565,7 +566,7 @@ static void print_result()
putchar('\n'); putchar('\n');
} }
if (found_error && opt_auto_repair && what_to_do != DO_REPAIR && if (found_error && opt_auto_repair && what_to_do != DO_REPAIR &&
(!opt_fast || strcmp(row[3],"OK"))) !opt_fast)
insert_dynamic(&tables4repair, prev); insert_dynamic(&tables4repair, prev);
mysql_free_result(res); mysql_free_result(res);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment