From c46c1258274f4993e5c5cc30cd0d4137d611db5f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 Jan 2003 02:10:56 +0200 Subject: Make PACKET_TOO_LARGE error handling safer in client libmysql/libmysql.c: Make PACKET_TOO_LARGE error handling safer --- libmysql/libmysql.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 13244a70fcc..179a942828c 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -460,19 +460,17 @@ simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg, { net->last_errno=CR_NET_PACKET_TOO_LARGE; strmov(net->last_error,ER(net->last_errno)); - return(packet_error); + goto end; } - else + end_server(mysql); + if (mysql_reconnect(mysql)) + goto end; + if (net_write_command(net,(uchar) command,arg, + length ? length : (ulong) strlen(arg))) { - end_server(mysql); - if (mysql_reconnect(mysql) || - net_write_command(net,(uchar) command,arg, - length ? length : (ulong) strlen(arg))) - { - net->last_errno=CR_SERVER_GONE_ERROR; - strmov(net->last_error,ER(net->last_errno)); - goto end; - } + net->last_errno= CR_SERVER_GONE_ERROR; + strmov(net->last_error,ER(net->last_errno)); + goto end; } } result=0; -- cgit v1.2.1