diff options
author | msvensson@neptunus.(none) <> | 2005-09-05 16:50:32 +0200 |
---|---|---|
committer | msvensson@neptunus.(none) <> | 2005-09-05 16:50:32 +0200 |
commit | 72228ea8257583310b9cd2f34cb2b9e3cd96e2cb (patch) | |
tree | 8b2acb1a2b0329b24a35f27baa612f5c387659b9 /client | |
parent | 78f32604ac9e7342beef1287d67af92e3a34c41b (diff) | |
download | mariadb-git-72228ea8257583310b9cd2f34cb2b9e3cd96e2cb.tar.gz |
Bug#12959 mysqltest crashes if testcase passed with -x option
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index 33702e9d1d2..78d873468c4 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -2169,8 +2169,10 @@ int read_line(char *buf, int size) if (feof(cur_file->file)) { found_eof: - if (cur_file->file != stdin) + if (cur_file->file != stdin){ my_fclose(cur_file->file, MYF(0)); + cur_file->file= 0; + } my_free((gptr)cur_file->file_name, MYF(MY_ALLOW_ZERO_PTR)); cur_file->file_name= 0; lineno--; @@ -2556,10 +2558,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), argument= buff; } fn_format(buff, argument, "", "", 4); - DBUG_ASSERT(cur_file->file == 0); + DBUG_ASSERT(cur_file == file_stack && cur_file->file == 0); if (!(cur_file->file= my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(MY_WME)))) - die("Could not open %s: errno = %d", argument, errno); + die("Could not open %s: errno = %d", buff, errno); + cur_file->file_name= my_strdup(buff, MYF(MY_FAE)); break; } case 'm': @@ -3746,9 +3749,8 @@ int main(int argc, char **argv) embedded_server_args, (char**) embedded_server_groups)) die("Can't initialize MySQL server"); - if (cur_file == file_stack) + if (cur_file == file_stack && cur_file->file == 0) { - DBUG_ASSERT(cur_file->file == 0); cur_file->file= stdin; cur_file->file_name= my_strdup("<stdin>", MYF(MY_WME)); } |