From a735a51402d6b7810a7abaf4f188a058083cdb16 Mon Sep 17 00:00:00 2001 From: "hf@deer.(none)" <> Date: Tue, 23 Dec 2003 18:24:33 +0400 Subject: [PATCH] Fix for #2181 (mysql_execute crashed instead of returning error on embedded server) We didn't perform the check for the error for embedded server --- libmysql/libmysql.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 728454a50fb..9d084879fc8 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -2035,14 +2035,6 @@ int cli_stmt_execute(MYSQL_STMT *stmt) uint null_count; my_bool result; -#ifdef CHECK_EXTRA_ARGUMENTS - if (!stmt->param_buffers) - { - /* Parameters exists, but no bound buffers */ - set_stmt_error(stmt, CR_NOT_ALL_PARAMS_BOUND, unknown_sqlstate); - DBUG_RETURN(1); - } -#endif net_clear(net); /* Sets net->write_pos */ /* Reserve place for null-marker bytes */ null_count= (stmt->param_count+7) /8; @@ -2099,6 +2091,14 @@ int STDCALL mysql_execute(MYSQL_STMT *stmt) set_stmt_error(stmt, CR_NO_PREPARE_STMT, unknown_sqlstate); DBUG_RETURN(1); } +#ifdef CHECK_EXTRA_ARGUMENTS + if (stmt->param_count && !stmt->param_buffers) + { + /* Parameters exists, but no bound buffers */ + set_stmt_error(stmt, CR_NOT_ALL_PARAMS_BOUND, unknown_sqlstate); + DBUG_RETURN(1); + } +#endif if ((*stmt->mysql->methods->stmt_execute)(stmt)) DBUG_RETURN(1);