commit 8b6cccc5cc4ef084d32fa4fe302468753497bd66
parent ee289d7a2b361d0ad274a68c704e10e78fd75628
Author: Rocco Corsi <rocco.corsi@sympatico.ca>
Date: Tue, 2 Jan 2001 06:21:07 +0000
TAB-TAB completion segfaulting with more than 2048 files fixed. (Rocco)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@432 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git 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
@@ -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, "*");