aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-12-18 19:06:00 +0300
committerZyX <kp-pav@yandex.ru>2015-12-18 19:29:49 +0300
commit5c112c0cb97a5c3fc1060aa83982541b316fa5a8 (patch)
tree65ef16658d33814eb15c29f6e5625ef7ad8d3cf3
parentea67bf808bfaee5d4ad68fa40235929db28dbd57 (diff)
downloadrneovim-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.c6
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);