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
master
David Lawrence Ramsey 2006-08-26 15:46:20 +00:00
parent e5e6d9b696
commit 17408b52e5
2 changed files with 3 additions and 1 deletions

View File

@ -69,6 +69,8 @@ CVS code -
- After entering "..", select the directory we were in before - After entering "..", select the directory we were in before
instead of the first filename in the list, as Pico does. (DLR) instead of the first filename in the list, as Pico does. (DLR)
- Simplify screen update handling and exiting. (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() do_browse_from()
- During the operating directory check, if path isn't NULL, - During the operating directory check, if path isn't NULL,
don't bother freeing it before mallocstrcpy()ing operating_dir don't bother freeing it before mallocstrcpy()ing operating_dir

View File

@ -254,7 +254,7 @@ char *do_browser(char *path, DIR *dir)
new_path = real_dir_from_tilde(answer); new_path = real_dir_from_tilde(answer);
if (new_path[0] != '/') { if (new_path[0] != '/') {
new_path = charealloc(new_path, strlen(new_path) + new_path = charealloc(new_path, strlen(path) +
strlen(answer) + 1); strlen(answer) + 1);
sprintf(new_path, "%s%s", path, answer); sprintf(new_path, "%s%s", path, answer);
} }