From 65efed5f9731d8ac472d7b08c4da0ff189a75f4d Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Wed, 10 Feb 2016 20:29:23 +0000 Subject: [PATCH] Freeing the position-history records that are dropped. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5629 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 1 + src/files.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 332fcba6..41a58710 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ * AUTHORS, THANKS: Remove SVN Id tags and a duplication. * src/winio.c (get_kbinput), src/nano.c (main): Switch the cursor on in the right place: in the central input routine. + * src/files.c (load_poshistory): Free any records that are dropped. 2016-02-09 Benno Schulenberg * src/files.c (stat_with_alloc, open_buffer, write_file): Check the diff --git a/src/files.c b/src/files.c index e68e81c1..c16b9272 100644 --- a/src/files.c +++ b/src/files.c @@ -3323,8 +3323,14 @@ void load_poshistory(void) record_ptr = newrecord; /* Impose a limit, so the file will not grow indefinitely. */ - if (++count > 200) + if (++count > 200) { + poshiststruct *drop_record = position_history; + position_history = position_history->next; + + free(drop_record->filename); + free(drop_record); + } } fclose(hist); free(line); -- 2.39.5