SOURCES: mysql-bug-16634.patch (NEW) - fix segfault on mysql_upgrade

arekm arekm at pld-linux.org
Sat Dec 16 22:22:10 CET 2006


Author: arekm                        Date: Sat Dec 16 21:22:10 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix segfault on mysql_upgrade

---- Files affected:
SOURCES:
   mysql-bug-16634.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/mysql-bug-16634.patch
diff -u /dev/null SOURCES/mysql-bug-16634.patch:1.1
--- /dev/null	Sat Dec 16 22:22:10 2006
+++ SOURCES/mysql-bug-16634.patch	Sat Dec 16 22:22:05 2006
@@ -0,0 +1,58 @@
+From: Daniel FischerDate: December 8 2006 10:23am
+Subject: bk commit into 5.0 tree (df:1.2327)
+
+Below is the list of changes that have just been committed into a local
+5.0 repository of df. When df does a push these changes will
+be propagated to the main repository and, within 24 hours after the
+push, to the public repository.
+For information on how to access the public repository
+see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
+
+ChangeSet at stripped, 2006-12-08 10:23:03+01:00, df at stripped +1 -0
+  mysql_upgrade -p fix
+
+  client/mysql_upgrade.c at stripped, 2006-12-08 10:23:01+01:00, df at stripped +11 -1
+    BUG#24896 mysql_upgrade core dumps on RHEL3 using 5.0.30 commerical binaries
+
+# This is a BitKeeper patch.  What follows are the unified diffs for the
+# set of deltas contained in the patch.  The rest of the patch, the part
+# that BitKeeper cares about, is below these diffs.
+# User:	df
+# Host:	kahlann.erinye.com
+# Root:	/home/df/mysql/build/mysql-5.0-build-24896
+
+--- 1.11/client/mysql_upgrade.c	2006-11-23 11:38:42 +01:00
++++ 1.12/client/mysql_upgrade.c	2006-12-08 10:23:01 +01:00
+@@ -142,6 +142,7 @@ void set_extra_default(int id, const str
+   case 'f':             /* --force is ours */
+   case 'u':             /* --user passed on cmdline */
+   case 'T':             /* --debug-info is not accepted by mysqlcheck */
++  case 'p':             /* --password may change yet */
+     /* so, do nothing */
+     break;
+   default:
+@@ -173,7 +174,7 @@ void set_extra_default(int id, const str
+       d->id= id;
+       d->name= opt->name;
+       d->n_len= strlen(opt->name);
+-      if (opt->arg_type != NO_ARG)
++      if (opt->arg_type != NO_ARG && opt->value)
+         switch (opt->var_type & GET_TYPE_MASK) {
+         case GET_BOOL:
+           if (*((int *)opt->value))
+@@ -319,6 +320,15 @@ static int create_defaults_file(const ch
+   }
+   
+   dynstr_set(&buf, "\n[client]");
++  if (opt_password) 
++  {
++    if (dynstr_append_mem(&buf, "\npassword=", 10)
++       || dynstr_append_mem(&buf, opt_password, strlen(opt_password)))
++    {
++      ret = 1;
++      goto error;
++    }
++  }
+   while (extra_defaults) 
+   {
+     int len;
================================================================


More information about the pld-cvs-commit mailing list