From: Bram Moolenaar Date: Tue, 3 Aug 2010 20:21:00 +0000 (+0200) Subject: Fix crash in :find completion. (Nazri Ramliy) X-Git-Tag: v7.3~95 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7f0f621c4c85581cbc9f8ebdb13b9cc0dc2537db;p=vim Fix crash in :find completion. (Nazri Ramliy) --- diff --git a/src/misc1.c b/src/misc1.c index bcf4ce7f8..b0f7e91fc 100644 --- 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]); }