diff options
author | ZyX <kp-pav@yandex.ru> | 2015-12-18 19:06:00 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-12-18 19:29:49 +0300 |
commit | 5c112c0cb97a5c3fc1060aa83982541b316fa5a8 (patch) | |
tree | 65ef16658d33814eb15c29f6e5625ef7ad8d3cf3 | |
parent | ea67bf808bfaee5d4ad68fa40235929db28dbd57 (diff) | |
download | rneovim-5c112c0cb97a5c3fc1060aa83982541b316fa5a8.tar.gz rneovim-5c112c0cb97a5c3fc1060aa83982541b316fa5a8.tar.bz2 rneovim-5c112c0cb97a5c3fc1060aa83982541b316fa5a8.zip |
shada: Free wms->hms in shada_write_exit
Otherwise there should be memory leak.
-rw-r--r-- | src/nvim/shada.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |