0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.0.1492: using uninitialized memory when argument is missing

Problem:    Using uninitialized memory when argument is missing.
Solution:   Check there are sufficient arguments before the base.
            (closes #12302)
This commit is contained in:
Bram Moolenaar
2023-04-27 16:24:07 +01:00
parent fbf2071ac9
commit b7f2270bab
5 changed files with 23 additions and 1 deletions

View File

@@ -1626,8 +1626,14 @@ check_internal_func_args(
if (method_call && argoff > 1)
{
isn_T *isn = generate_instr(cctx, ISN_SHUFFLE);
if (argcount < argoff)
{
semsg(_(e_not_enough_arguments_for_function_str),
internal_func_name(func_idx));
return FAIL;
}
isn_T *isn = generate_instr(cctx, ISN_SHUFFLE);
if (isn == NULL)
return FAIL;
isn->isn_arg.shuffle.shfl_item = argcount;