From 68ab4b848bca6c9fde3489296526d0b72b763810 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Fri, 29 Jan 2016 20:39:12 +0000 Subject: [PATCH] Plugging another memory leak. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5600 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 1 + src/files.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3d38021a..60c9fd0e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ * src/nano.c (main): Check position history only when 'positionlog' is set. This fixes a bug unconsciously reported by Mike Frysinger. * src/files.c (do_lockfile): Plug a couple of memory leaks. + * src/files.c (update_poshistory): Plug another memory leak. 2016-01-26 Benno Schulenberg * src/files.c (update_poshistory): Do not add directories to the diff --git a/src/files.c b/src/files.c index 6df25ba0..c6b23394 100644 --- a/src/files.c +++ b/src/files.c @@ -3205,8 +3205,10 @@ void update_poshistory(char *filename, ssize_t lineno, ssize_t xpos) poshiststruct *posptr, *theone, *posprev = NULL; char *fullpath = get_full_path(filename); - if (fullpath == NULL || fullpath[strlen(fullpath) - 1] == '/') + if (fullpath == NULL || fullpath[strlen(fullpath) - 1] == '/') { + free(fullpath); return; + } /* Look for a matching filename in the list. */ for (posptr = position_history; posptr != NULL; posptr = posptr->next) { -- 2.39.5