From 5c112c0cb97a5c3fc1060aa83982541b316fa5a8 Mon Sep 17 00:00:00 2001 From: ZyX Date: Fri, 18 Dec 2015 19:06:00 +0300 Subject: shada: Free wms->hms in shada_write_exit Otherwise there should be memory leak. --- src/nvim/shada.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 046d9285f7..42e514aa95 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -2918,7 +2918,6 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, break; } }) - hms_dealloc(&wms->hms[i]); if (ret == kSDWriteFailed) { goto shada_write_exit; } @@ -2927,6 +2926,11 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, } shada_write_exit: + for (size_t i = 0; i < HIST_COUNT; i++) { + if (dump_one_history[i]) { + hms_dealloc(&wms->hms[i]); + } + } kh_dealloc(file_marks, &wms->file_marks); kh_dealloc(bufset, &removable_bufs); msgpack_packer_free(packer); -- cgit