Commit d0f60308 authored by unknown's avatar unknown

Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime

into  ibm.:/home/alik/Documents/MySQL/devel/5.0-rt-bug275920-2

parents 727757d2 2412446c
...@@ -15623,6 +15623,59 @@ static void test_bug27876() ...@@ -15623,6 +15623,59 @@ static void test_bug27876()
} }
/*
Bug#27592 (stack overrun when storing datetime value using prepared statements)
*/
static void test_bug27592()
{
const int NUM_ITERATIONS= 40;
int i;
int rc;
MYSQL_STMT *stmt= NULL;
MYSQL_BIND bind[1];
MYSQL_TIME time_val;
DBUG_ENTER("test_bug27592");
myheader("test_bug27592");
mysql_query(mysql, "DROP TABLE IF EXISTS t1");
mysql_query(mysql, "CREATE TABLE t1(c2 DATETIME)");
stmt= mysql_simple_prepare(mysql, "INSERT INTO t1 VALUES (?)");
DIE_UNLESS(stmt);
memset(bind, 0, sizeof(bind));
bind[0].buffer_type= MYSQL_TYPE_DATETIME;
bind[0].buffer= (char *) &time_val;
bind[0].length= NULL;
for (i= 0; i < NUM_ITERATIONS; i++)
{
time_val.year=1000+lrand48()%1000;
time_val.month=1+lrand48()%12;
time_val.day=1+lrand48()%31;
time_val.hour=lrand48()%23;
time_val.minute=lrand48()%59;
time_val.second=lrand48()%59;
time_val.second_part=0;
time_val.neg=0;
rc= mysql_stmt_bind_param(stmt, bind);
check_execute(stmt, rc);
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
}
mysql_stmt_close(stmt);
DBUG_VOID_RETURN;
}
/* /*
Read and parse arguments and MySQL options from my.cnf Read and parse arguments and MySQL options from my.cnf
*/ */
...@@ -15904,6 +15957,7 @@ static struct my_tests_st my_tests[]= { ...@@ -15904,6 +15957,7 @@ static struct my_tests_st my_tests[]= {
{ "test_bug21635", test_bug21635 }, { "test_bug21635", test_bug21635 },
{ "test_bug24179", test_bug24179 }, { "test_bug24179", test_bug24179 },
{ "test_bug27876", test_bug27876 }, { "test_bug27876", test_bug27876 },
{ "test_bug27592", test_bug27592 },
{ 0, 0 } { 0, 0 }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment