Commit e7acbec3 authored by marko's avatar marko

branches/zip: Fix a memory management bug.

page_zip_decompress(): Free index and heap at the end of the function.
Do not write the index to the MLOG_ZIP_DECOMPRESS record, since it can be
decoded from the compressed page.
parent a71a1e9c
......@@ -1525,9 +1525,6 @@ zlib_done:
page_zip->m_end = mod_log_ptr - page_zip->data;
}
page_zip_fields_free(index);
mem_heap_free(heap);
if (UNIV_UNLIKELY(!page_zip_set_extra_bytes(
page_zip, page, info_bits))) {
err_exit:
......@@ -1602,10 +1599,12 @@ err_exit:
ut_ad(page_simple_validate_new(page));
if (UNIV_LIKELY_NULL(mtr)) {
mlog_open_and_write_index(mtr, page, index,
MLOG_ZIP_DECOMPRESS, 0);
mlog_write_initial_log_record(page, MLOG_ZIP_DECOMPRESS, mtr);
}
page_zip_fields_free(index);
mem_heap_free(heap);
return(TRUE);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment