]> git.wh0rd.org Git - nano.git/commitdiff
in do_browser(), fix potential segfault when going to a directory that
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 26 Aug 2006 15:46:20 +0000 (15:46 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 26 Aug 2006 15:46:20 +0000 (15:46 +0000)
doesn't begin with '/'

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

ChangeLog
src/browser.c

index 9a448acfd663f5003b6524022cd6fb22a986740a..357275a4a7ef1b23efcd2f0eeffde3296689845b 100644 (file)
--- 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
index 2ae949a3333b439c0b80f1769ff88acc2bdbbda6..df62043440f350b34b2cc1b1fc286a025c9ce1b4 100644 (file)
@@ -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);
                }