]> git.wh0rd.org Git - nano.git/commitdiff
TAB-TAB completion segfaulting with more than 2048 files fixed. (Rocco)
authorRocco Corsi <rocco.corsi@sympatico.ca>
Tue, 2 Jan 2001 06:21:07 +0000 (06:21 +0000)
committerRocco Corsi <rocco.corsi@sympatico.ca>
Tue, 2 Jan 2001 06:21:07 +0000 (06:21 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@432 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
files.c

index 217393d60f7aa89d609abf492a14c54846c59b7d..08a3ca26e68728ed4f3004ca33f74ed6108fb84a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,8 +2,13 @@ CVS code -
 - faq.html:
        - Fix typos and small mistakes (Jordi).
 - files.c:
+  username_tab_completion()
+       - Added the (char *) sizeof when allocating memory for the filename
+         array (Rocco).
   cwd_tab_completion()
        - removed skipping . and .. when tabulating matches.
+       - Added the (char *) sizeof when allocating memory for the filename
+         array (Rocco).
 - nano.c:
   main()
        - Reorder the getopt options to be more or less alphabetical
diff --git a/files.c b/files.c
index 870be700d75585b6980f2d319b3d8c01c0feb70a..5d0c32e7ccdb8f110d4ed4dc11ffaa1cfe83c193 100644 (file)
--- a/files.c
+++ b/files.c
@@ -688,8 +688,8 @@ char **username_tab_completion(char *buf, int *num_matches)
        homedirs = (char **) NULL;
        *num_matches = 0;
     }
-    matches = nmalloc(BUFSIZ);
-    homedirs = nmalloc(BUFSIZ);
+    matches = nmalloc(BUFSIZ * sizeof(char *));
+    homedirs = nmalloc(BUFSIZ * sizeof(char *));
     strcat(buf, "*");
     do {
        i = 0;
@@ -757,7 +757,7 @@ char **cwd_tab_completion(char *buf, int *num_matches)
     DIR *dir;
     struct dirent *next;
 
-    matches = nmalloc(BUFSIZ);
+    matches = nmalloc(BUFSIZ * sizeof(char *));
 
     /* Stick a wildcard onto the buf, for later use */
     strcat(buf, "*");