diff --git a/src/server/mysql.c b/src/server/mysql.c --- a/src/server/mysql.c +++ b/src/server/mysql.c @@ -239,7 +239,7 @@ int mysqlResultFree(distrend_mysql_conn_ Must flush the resultset buffer. */ for(counter = 0; - mysql_fetch_row(result->mysqlresult); + mysql_fetch_row(mysqlresult); counter ++) ; if(counter) @@ -248,10 +248,14 @@ int mysqlResultFree(distrend_mysql_conn_ while(mysql_more_results(conn->mysqlconn)) { fprintf(stderr, "flushing an extraneous result set\n"); + mysql_next_result(conn->mysqlconn); mysqlresult = mysql_use_result(conn->mysqlconn); - while(mysql_fetch_row(mysqlresult)) - ; - mysql_free_result(mysqlresult); + if(mysqlresult) + { + while(mysql_fetch_row(mysqlresult)) + ; + mysql_free_result(mysqlresult); + } } return 0;