--- mysql-5.0.75.orig/sql/net_serv.cc 2008-12-18 09:20:14.000000000 -0800 +++ mysql-5.0.75.bug33384/sql/net_serv.cc 2009-01-28 18:25:45.000000000 -0800 @@ -291,7 +291,7 @@ DBUG_ENTER("net_clear"); #if !defined(EMBEDDED_LIBRARY) - while((ready= net_data_is_ready(net->vio->sd)) > 0) + while(net->vio && (ready= net_data_is_ready(net->vio->sd)) > 0) { /* The socket is ready */ if ((count= vio_read(net->vio, (char*) (net->buff), --- mysql-5.0.75.orig/libmysql/libmysql.c 2008-12-18 09:19:37.000000000 -0800 +++ mysql-5.0.75.bug33384/libmysql/libmysql.c 2009-01-28 18:38:29.000000000 -0800 @@ -2480,11 +2480,18 @@ uint null_count; my_bool result; + if (net->vio == NULL) + { + set_stmt_error(stmt, CR_SERVER_GONE_ERROR, unknown_sqlstate); + DBUG_RETURN(1); + } + if (!stmt->bind_param_done) { set_stmt_error(stmt, CR_PARAMS_NOT_BOUND, unknown_sqlstate); DBUG_RETURN(1); } + if (mysql->status != MYSQL_STATUS_READY || mysql->server_status & SERVER_MORE_RESULTS_EXISTS) {