commit 68ab4b848bca6c9fde3489296526d0b72b763810
parent 98e72f50e67ba6acaff077bb1bafdbe9aae0f714
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Fri, 29 Jan 2016 20:39:12 +0000
Plugging another memory leak.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5600 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git 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 <bensberg@justemail.net>
* src/files.c (update_poshistory): Do not add directories to the
diff --git 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) {