1
0
forked from aniani/vim

updated for version 7.3.371

Problem:    Crash in autocomplete. (Greg Weber)
Solution:   Check not going over allocated buffer size.
This commit is contained in:
Bram Moolenaar
2011-12-08 17:49:35 +01:00
parent fa263a517b
commit b9ba403542
2 changed files with 15 additions and 0 deletions

View File

@@ -4293,6 +4293,8 @@ static ff_stack_T *ff_create_stack_element __ARGS((char_u *, int, int));
static int ff_path_in_stoplist __ARGS((char_u *, int, char_u **));
#endif
static char_u e_pathtoolong[] = N_("E854: path too long for completion");
#if 0
/*
* if someone likes findfirst/findnext, here are the functions
@@ -4589,6 +4591,11 @@ vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
len = 0;
while (*wc_part != NUL)
{
if (len + 5 >= MAXPATHL)
{
EMSG(_(e_pathtoolong));
break;
}
if (STRNCMP(wc_part, "**", 2) == 0)
{
ff_expand_buffer[len++] = *wc_part++;
@@ -4634,6 +4641,12 @@ vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
}
/* create an absolute path */
if (STRLEN(search_ctx->ffsc_start_dir)
+ STRLEN(search_ctx->ffsc_fix_path) + 3 >= MAXPATHL)
{
EMSG(_(e_pathtoolong));
goto error_return;
}
STRCPY(ff_expand_buffer, search_ctx->ffsc_start_dir);
add_pathsep(ff_expand_buffer);
STRCAT(ff_expand_buffer, search_ctx->ffsc_fix_path);