#At file:///Users/tnurnberg/forest/47655/51-47655/ based on revid:azundris@stripped
3158 Tatiana A. Nurnberg 2009-11-02
Bug#47655: Memory free error when connecting to 4.1 server from 5.1+ client
When starting the (5.1+) mysql command-line client, we try to get
"select @@version_comment" from the server to present it to the
user. Recent clients are aware that older servers do not have that
variable and fall back on other info to be able to present *something*
at least. This fallback string was allocated through the POSIX interface,
but released through the my*() suite, which rightfully complained about
the imbalance in calls when compiled with --debug. While this wasn't
as bad as it looked (no double-free, use of uninitialized or freed
buffer, etc.), it did look funky.
Using my_strdup() now for what will be my_free()d later.
@ client/mysql.cc
Use my_strdup() for server_version, as we'll my_free() it later
and don't want to upset the mysql client's memory accounting.
modified:
client/mysql.cc
=== modified file 'client/mysql.cc'
--- a/client/mysql.cc 2009-10-20 18:00:07 +0000
+++ b/client/mysql.cc 2009-11-02 08:46:00 +0000
@@ -4474,9 +4474,7 @@ server_version_string(MYSQL *con)
*/
if (server_version == NULL)
- {
- server_version= strdup(mysql_get_server_info(con));
- }
+ server_version= my_strdup(mysql_get_server_info(con), MYF(MY_WME));
}
return server_version ? server_version : "";
Attachment: [text/bzr-bundle] bzr/azundris@mysql.com-20091102084600-qqep8sjafw1i2qhv.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-bugteam branch (azundris:3158) Bug#47655 | Tatiana A. Nurnberg | 2 Nov |