nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 761fa7cd3abd518a6c614c6e6947288884b3677f
parent 16c037fdb0f450500b9d78ef074074d3ddbc1be5
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Thu, 25 Feb 2016 13:52:54 +0000

Plugging a memory leak by not copying a string twice.
This fixes Savannah bug #47206.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5676 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 4++++
Msrc/browser.c | 4+++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,7 @@ +2016-02-25 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (do_browser): Plug a memory leak by not copying + a string twice. This fixes Savannah bug #47206. + 2016-02-23 Benno Schulenberg <bensberg@justemail.net> * src/prompt.c (do_statusbar_output, do_statusbar_delete): Rename a variable, for contrast and correctness. diff --git a/src/browser.c b/src/browser.c @@ -322,7 +322,7 @@ char *do_browser(char *path, DIR *dir) /* We've successfully opened the parent directory, * save the current directory in prev_dir, so that * we can easily return to it by hitting Enter. */ - prev_dir = mallocstrcpy(NULL, striponedir(filelist[selected])); + prev_dir = striponedir(filelist[selected]); dir = opendir(filelist[selected]); if (dir == NULL) { @@ -330,6 +330,8 @@ char *do_browser(char *path, DIR *dir) * Complain. */ statusbar(_("Error reading %s: %s"), filelist[selected], strerror(errno)); + free(prev_dir); + prev_dir = NULL; beep(); continue; }