mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
mysql_client_test fixed.
per-file comments: tests/mysql_client_test.c the test for bug 37956 isn't relevant anymore. The query there 'select point(?,?)' doesn't produce an error.
This commit is contained in:
@ -15904,61 +15904,6 @@ static void test_bug28934()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_SPATIAL
|
|
||||||
/**
|
|
||||||
Bug#37956 memory leak and / or crash with geometry and prepared statements!
|
|
||||||
*/
|
|
||||||
|
|
||||||
static void test_bug37956(void)
|
|
||||||
{
|
|
||||||
const char *query="select point(?,?)";
|
|
||||||
MYSQL_STMT *stmt=NULL;
|
|
||||||
ulong val=0;
|
|
||||||
MYSQL_BIND bind_param[2];
|
|
||||||
unsigned char buff[2]= { 134, 211 };
|
|
||||||
DBUG_ENTER("test_bug37956");
|
|
||||||
myheader("test_bug37956");
|
|
||||||
|
|
||||||
stmt= mysql_simple_prepare(mysql, query);
|
|
||||||
check_stmt(stmt);
|
|
||||||
|
|
||||||
val=1;
|
|
||||||
mysql_stmt_attr_set(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, (void *)&val);
|
|
||||||
val=CURSOR_TYPE_READ_ONLY;
|
|
||||||
mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void *)&val);
|
|
||||||
val=0;
|
|
||||||
mysql_stmt_attr_set(stmt, STMT_ATTR_PREFETCH_ROWS, (void *)&val);
|
|
||||||
|
|
||||||
memset(bind_param, 0, sizeof(bind_param));
|
|
||||||
bind_param[0].buffer_type=MYSQL_TYPE_TINY;
|
|
||||||
bind_param[0].buffer= (void *)buff;
|
|
||||||
bind_param[0].is_null=NULL;
|
|
||||||
bind_param[0].error=NULL;
|
|
||||||
bind_param[0].is_unsigned=1;
|
|
||||||
bind_param[1].buffer_type=MYSQL_TYPE_TINY;
|
|
||||||
bind_param[1].buffer= (void *)(buff+1);
|
|
||||||
bind_param[1].is_null=NULL;
|
|
||||||
bind_param[1].error=NULL;
|
|
||||||
bind_param[1].is_unsigned=1;
|
|
||||||
|
|
||||||
if (mysql_stmt_bind_param(stmt, bind_param))
|
|
||||||
{
|
|
||||||
mysql_stmt_close(stmt);
|
|
||||||
DIE_UNLESS(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mysql_stmt_execute(stmt))
|
|
||||||
{
|
|
||||||
mysql_stmt_close(stmt);
|
|
||||||
DBUG_VOID_RETURN;
|
|
||||||
}
|
|
||||||
/* Should never reach here: execution returns an error. */
|
|
||||||
mysql_stmt_close(stmt);
|
|
||||||
DIE_UNLESS(0);
|
|
||||||
DBUG_VOID_RETURN;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Bug#27592 (stack overrun when storing datetime value using prepared statements)
|
Bug#27592 (stack overrun when storing datetime value using prepared statements)
|
||||||
*/
|
*/
|
||||||
@ -16945,9 +16890,6 @@ static struct my_tests_st my_tests[]= {
|
|||||||
{ "test_bug32265", test_bug32265 },
|
{ "test_bug32265", test_bug32265 },
|
||||||
{ "test_bug38486", test_bug38486 },
|
{ "test_bug38486", test_bug38486 },
|
||||||
{ "test_bug40365", test_bug40365 },
|
{ "test_bug40365", test_bug40365 },
|
||||||
#ifdef HAVE_SPATIAL
|
|
||||||
{ "test_bug37956", test_bug37956 },
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_QUERY_CACHE
|
#ifdef HAVE_QUERY_CACHE
|
||||||
{ "test_bug36326", test_bug36326 },
|
{ "test_bug36326", test_bug36326 },
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user