changeset 2477:81bf2aaa979a vim73

Fix crash in :find completion. (Nazri Ramliy)
author Bram Moolenaar <bram@vim.org>
date Tue, 03 Aug 2010 22:21:00 +0200
parents 6be86488996b
children 11def19fbb0e
files src/misc1.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -9587,7 +9587,7 @@ expand_in_path(gap, pattern, flags)
     char_u	*paths = NULL;
 # endif
 
-    if ((curdir = alloc((int)(MAXPATHL))) == NULL)
+    if ((curdir = alloc((unsigned)MAXPATHL)) == NULL)
 	return 0;
     mch_dirname(curdir, MAXPATHL);
 
@@ -9595,6 +9595,8 @@ expand_in_path(gap, pattern, flags)
     vim_free(curdir);
     path_list = (char_u **)(path_ga.ga_data);
 # ifdef WIN3264
+    if ((file_pattern = alloc((unsigned)MAXPATHL)) == NULL)
+	return 0;
     for (i = 0; i < path_ga.ga_len; i++)
     {
 	if (STRLEN(path_list[i]) + STRLEN(pattern) + 2 > MAXPATHL)
@@ -9604,12 +9606,13 @@ expand_in_path(gap, pattern, flags)
 	STRCAT(file_pattern, pattern);
 	mch_expandpath(gap, file_pattern, EW_DIR|EW_ADDSLASH|EW_FILE);
     }
+    vim_free(file_pattern);
 # else
     for (i = 0; i < path_ga.ga_len; i++)
     {
 	if (paths == NULL)
 	{
-	    if ((paths = alloc((int)(STRLEN(path_list[i]) + 1))) == NULL)
+	    if ((paths = alloc((unsigned)(STRLEN(path_list[i]) + 1))) == NULL)
 		return 0;
 	    STRCPY(paths, path_list[i]);
 	}