mirror of
https://github.com/MariaDB/server.git
synced 2025-06-13 13:01:51 +03:00
A fix and test case for Bug#8330 "mysql_stmt_execute crashes" (libmysql).
libmysql/libmysql.c: Fix for bug#8330 "mysql_stmt_execute crashes": we need to bail out from mysql_stmt_execute if mysql->net is occupied with a result set of another statement. Otherwise on the next attempt to use net we get a crash, as it's freed in case of error. tests/mysql_client_test.c: A test case for Bug#8330 "mysql_stmt_execute craches" (libmysql)
This commit is contained in:
@ -2467,6 +2467,11 @@ int cli_stmt_execute(MYSQL_STMT *stmt)
|
||||
set_stmt_error(stmt, CR_PARAMS_NOT_BOUND, unknown_sqlstate);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
if (stmt->mysql->status != MYSQL_STATUS_READY)
|
||||
{
|
||||
set_stmt_error(stmt, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
||||
net_clear(net); /* Sets net->write_pos */
|
||||
/* Reserve place for null-marker bytes */
|
||||
|
Reference in New Issue
Block a user