Closes #3350: Free memory when allocated for specific 'stmt_execute_metadata_t' bind buffers types

pull/3352/head
Javier Jaramago Fernández 5 years ago
parent d258361258
commit 60bb5a65ae

@ -3885,6 +3885,21 @@ void MySQL_Session::handler_rc0_PROCESSING_STMT_EXECUTE(MySQL_Data_Stream *myds)
free(CurrentQuery.stmt_meta->pkt);
CurrentQuery.stmt_meta->pkt=NULL;
}
// free for all the buffer types in which we allocate
for (int i = 0; i < CurrentQuery.stmt_meta->num_params; i++) {
enum enum_field_types buffer_type =
CurrentQuery.stmt_meta->binds[i].buffer_type;
if (
(buffer_type == MYSQL_TYPE_TIME) ||
(buffer_type == MYSQL_TYPE_DATE) ||
(buffer_type == MYSQL_TYPE_TIMESTAMP) ||
(buffer_type == MYSQL_TYPE_DATETIME)
) {
free(CurrentQuery.stmt_meta->binds[i].buffer);
}
}
}
CurrentQuery.mysql_stmt=NULL;
}

Loading…
Cancel
Save