MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Nirbhay Choubey Date:January 24 2011 4:12pm
Subject:bzr commit into mysql-5.5 branch (nirbhay.choubey:3271) Bug#59234
View as plain text  
#At file:///home/nirbhay/Project/mysql/repo/bugs/source/mysql-5.5.59234/ based on revid:martin.hansson@stripped

 3271 Nirbhay Choubey	2011-01-24
      Bug#59234 : cmdline clients crash --defaults-extra-file with
                  no .cnf or .ini extension.
      
      Standard mysql clients crash when they are started with
      defaults-extra-file command line option with file having
      no extension.
      
      Crash (or segfault) was noticed as 'NULL' was getting passed
      to the strlen function in case of filename with no extension.
      
      Fixed by passing a zero-sized string instead of NULL.
     @ mysql-test/r/mysqladmin.result
        Added a test case for bug#59234.
     @ mysql-test/t/mysqladmin.test
        Added a test case for bug#59234.
     @ mysys/default.c
        Bug#59234 : cmdline clients crash --defaults-extra-file with
                    no .cnf or .ini extension.
        
        When clients were started with defaults-extra-file option with
        file having no extension, strlen was getting called with NULL.
        Fixed by using a zero length string instead of NULL.

    modified:
      mysql-test/r/mysqladmin.result
      mysql-test/t/mysqladmin.test
      mysys/default.c
=== modified file 'mysql-test/r/mysqladmin.result'
--- a/mysql-test/r/mysqladmin.result	2011-01-15 20:34:08 +0000
+++ b/mysql-test/r/mysqladmin.result	2011-01-24 16:12:13 +0000
@@ -10,3 +10,10 @@ mysqld is alive
 # Displaying the output :
 mysqld is alive
 mysqld is alive
+#
+# Bug#59234 : cmdline clients crash --defaults-extra-file with no .cnf
+#             or .ini extension.
+#
+Creating an empty file 'cnf_file'
+Using --defaults-extra-file option with 'cnf_file'.
+mysqld is alive

=== modified file 'mysql-test/t/mysqladmin.test'
--- a/mysql-test/t/mysqladmin.test	2011-01-15 20:38:24 +0000
+++ b/mysql-test/t/mysqladmin.test	2011-01-24 16:12:13 +0000
@@ -45,3 +45,17 @@ remove_file $MYSQLTEST_VARDIR/tmp/bug106
 --cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
 
 --remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
+
+--echo #
+--echo # Bug#59234 : cmdline clients crash --defaults-extra-file with no .cnf
+--echo #             or .ini extension.
+--echo #
+
+--echo Creating an empty file 'cnf_file'
+--write_file $MYSQLTEST_VARDIR/tmp/cnf_file
+EOF
+
+--echo Using --defaults-extra-file option with 'cnf_file'.
+--exec $MYSQLADMIN --defaults-extra-file=$MYSQLTEST_VARDIR/tmp/cnf_file -uroot -S $MASTER_MYSOCK -P $MASTER_MYPORT ping 2>&1
+
+--remove_file $MYSQLTEST_VARDIR/tmp/cnf_file

=== modified file 'mysys/default.c'
--- a/mysys/default.c	2011-01-17 07:44:37 +0000
+++ b/mysys/default.c	2011-01-24 16:12:13 +0000
@@ -179,7 +179,7 @@ fn_expand(const char *filename, char *re
   if (my_getwd(dir, sizeof(dir), MYF(0)))
     DBUG_RETURN(3);
   DBUG_PRINT("debug", ("dir: %s", dir));
-  if (fn_format(result_buf, filename, dir, NULL, flags) == NULL)
+  if (fn_format(result_buf, filename, dir, "", flags) == NULL)
     DBUG_RETURN(2);
   DBUG_PRINT("return", ("result: %s", result_buf));
   DBUG_RETURN(0);


Attachment: [text/bzr-bundle]
Thread
bzr commit into mysql-5.5 branch (nirbhay.choubey:3271) Bug#59234Nirbhay Choubey24 Jan