diff options
author | unknown <knielsen@knielsen-hq.org> | 2012-06-20 14:23:23 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2012-06-20 14:23:23 +0200 |
commit | 166d4c1feb24b2d819af0b13fbf5dbad2b48c731 (patch) | |
tree | 5d9ca862bf1fbd2f8c8f660bdb15724c15291ebd | |
parent | 3aef21344f4e0bd0990f5985b00aa18f107ff8c5 (diff) | |
download | mariadb-git-166d4c1feb24b2d819af0b13fbf5dbad2b48c731.tar.gz |
Fix memory leak introduced with merge of mysql 5.5.
MySQL introduced a class Deferred_log_events. This class keeps a pointer
last_added. The code was keeping this pointer around even after the memory
pointed to was freed, and later comparing the bogus pointer against other
allocated memory. This is illegal, and can randomly produce false equal
comparisons depending on whatever the malloc() subsystem decides to return.
-rw-r--r-- | sql/rpl_utility.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/rpl_utility.cc b/sql/rpl_utility.cc index 8b5df149539..388a6c9f9bb 100644 --- a/sql/rpl_utility.cc +++ b/sql/rpl_utility.cc @@ -1174,6 +1174,7 @@ void Deferred_log_events::rewind() freeze_size(&array); reset_dynamic(&array); } + last_added= NULL; } #endif |