diff options
Diffstat (limited to 'sql-common/client.c')
-rw-r--r-- | sql-common/client.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql-common/client.c b/sql-common/client.c index e51d2bb848f..2d826df0662 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -1563,7 +1563,8 @@ static MYSQL_METHODS client_methods= NULL, cli_read_statistics, cli_read_query_result, - cli_read_change_user_result + cli_read_change_user_result, + cli_read_binary_rows #endif }; @@ -2340,8 +2341,9 @@ static void mysql_close_free(MYSQL *mysql) my_free(mysql->user,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->passwd,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR)); + my_free(mysql->info_buffer,MYF(MY_ALLOW_ZERO_PTR)); /* Clear pointers for better safety */ - mysql->host_info=mysql->user=mysql->passwd=mysql->db=0; + mysql->info_buffer=mysql->host_info=mysql->user=mysql->passwd=mysql->db=0; } @@ -2477,8 +2479,7 @@ get_info: if (!(mysql->server_status & SERVER_STATUS_AUTOCOMMIT)) mysql->server_status|= SERVER_STATUS_IN_TRANS; - if (!(fields=(*mysql->methods->read_rows)(mysql,(MYSQL_FIELD*)0, - protocol_41(mysql) ? 7 : 5))) + if (!(fields=cli_read_rows(mysql,(MYSQL_FIELD*)0, protocol_41(mysql) ? 7:5))) DBUG_RETURN(1); if (!(mysql->fields=unpack_fields(fields,&mysql->field_alloc, (uint) field_count,0, |