mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS
THAT CALL STORED PROCEDURES. The bug was introduced by WL#4435. The problem was that if a stored procedure generated a few result sets with different set of columns, a new memory would be allocated after every EXECUTE for every result set. The fix is to introduce a new memory root in scope of MYSQL_STMT, and to store result-set metadata in that memory root.
This commit is contained in:
@ -573,6 +573,8 @@ typedef struct st_mysql_bind
|
||||
} MYSQL_BIND;
|
||||
|
||||
|
||||
struct st_mysql_stmt_extension;
|
||||
|
||||
/* statement handler */
|
||||
typedef struct st_mysql_stmt
|
||||
{
|
||||
@ -618,7 +620,7 @@ typedef struct st_mysql_stmt
|
||||
metadata fields when doing mysql_stmt_store_result.
|
||||
*/
|
||||
my_bool update_max_length;
|
||||
void *extension;
|
||||
struct st_mysql_stmt_extension *extension;
|
||||
} MYSQL_STMT;
|
||||
|
||||
enum enum_stmt_attr_type
|
||||
|
Reference in New Issue
Block a user