commit 17408b52e57b14d89388a10a1feedae7c3fbcf6d
parent e5e6d9b69604c5907f8b00b36fa87bd582847709
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sat, 26 Aug 2006 15:46:20 +0000
in do_browser(), fix potential segfault when going to a directory that
doesn't begin with '/'
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3852 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -69,6 +69,8 @@ CVS code -
- After entering "..", select the directory we were in before
instead of the first filename in the list, as Pico does. (DLR)
- Simplify screen update handling and exiting. (DLR)
+ - Fix potential segfault when going to a directory that doesn't
+ begin with '/'. (DLR)
do_browse_from()
- During the operating directory check, if path isn't NULL,
don't bother freeing it before mallocstrcpy()ing operating_dir
diff --git a/src/browser.c b/src/browser.c
@@ -254,7 +254,7 @@ char *do_browser(char *path, DIR *dir)
new_path = real_dir_from_tilde(answer);
if (new_path[0] != '/') {
- new_path = charealloc(new_path, strlen(new_path) +
+ new_path = charealloc(new_path, strlen(path) +
strlen(answer) + 1);
sprintf(new_path, "%s%s", path, answer);
}