summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Petrunia <sergey@mariadb.com>2020-02-26 10:10:24 +0000
committerSergei Petrunia <psergey@askmonty.org>2020-03-10 11:22:33 +0300
commitd882f13badb2229229c4a96588ae0efe0ca45105 (patch)
treee4dcac941160f78687ed98101622bdc3a1e65d54
parent8f112cf50b426a6ee9ab939d4c609fe13a12c450 (diff)
downloadmariadb-git-d882f13badb2229229c4a96588ae0efe0ca45105.tar.gz
CLX-103: xpand.update fails after for CLX-55, part #2
Fix the complaint from safemalloc about leaked 8 bytes. When mysql_update() uses direct update, it will still create a quick select (doesn't make much sense, does it?) Quick select will be initialized, which will call ha_xpand::index_init which will allocate ha_xpand::scan_fields. Then, ha_xpand::index_end will be called but it will fail to free scan_fields.
-rw-r--r--storage/xpand/ha_xpand.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/storage/xpand/ha_xpand.cc b/storage/xpand/ha_xpand.cc
index 13255107b7e..07905198802 100644
--- a/storage/xpand/ha_xpand.cc
+++ b/storage/xpand/ha_xpand.cc
@@ -875,7 +875,10 @@ int ha_xpand::index_end()
if (scan_cur)
DBUG_RETURN(rnd_end());
else
+ {
+ my_bitmap_free(&scan_fields);
DBUG_RETURN(0);
+ }
}
int ha_xpand::rnd_init(bool scan)