Done
Details
Assignee
UnassignedUnassignedReporter
lpjirasynclpjirasync(Deactivated)Labels
Priority
Low
Details
Details
Assignee
Unassigned
UnassignedReporter
lpjirasync
lpjirasync(Deactivated)Labels
Priority
Smart Checklist
Smart Checklist
Smart Checklist
Created January 22, 2018 at 8:02 PM
Updated January 22, 2018 at 8:02 PM
Resolved January 22, 2018 at 8:02 PM
**Reported in Launchpad by Laurynas Biveinis last update 06-06-2016 12:53:26
Copy of http://bugs.mysql.com/bug.php?id=81714:
[3 Jun 14:14] Laurynas Biveinis
Description:
A minor code review bug, credit to my colleague Yura Sorokin:
static my_bool get_view_structure(char table, char db)
{
MYSQL_RES *table_res;
...
if (mysql_query_with_error_report(mysql, &table_res, query))
...
if (path)
{
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
DBUG_RETURN(1);
Thus, mysql_free_result is not called here.
How to repeat:
Code review
Suggested fix:
For 5.7, call mysql_free_result there.
For lower versions, backport [1], and call mysql_free_result there.
[1]:
commit 353dbcee4a27b8cfbbd127a28a043bdda764dcf1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date: Fri Jun 12 14:55:35 2015 +0200
Bug#21246627: ASAN: MEMORY LEAK IN PROCESS_SET_GTID_PURGED()
Bug#21250584: ASAN: MEMORY LEAK IN MYSQLDUMP
Fix three different memory leaks in mysqldump:
1) Remember to call dynstr_free() on DYNAMIC_STRING.
2) Remember to call mysql_free_result() on MYSQL_RES.
3) Remember to call my_free() on string allocated by alloc_query_str().