comparison src/evalfunc.c @ 25721:0612d28321e8 v8.2.3396

patch 8.2.3396: when libcall() fails invalid pointer may be used Commit: https://github.com/vim/vim/commit/87e1587b8add93e40340170e4261cdadc4c8940e Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 2 19:53:07 2021 +0200 patch 8.2.3396: when libcall() fails invalid pointer may be used Problem: When libcall() fails invalid pointer may be used. Solution: Initialize the string to NULL. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/8829)
author Bram Moolenaar <Bram@vim.org>
date Thu, 02 Sep 2021 20:00:05 +0200
parents c07b6c54146a
children f35efe44dacd
comparison
equal deleted inserted replaced
25720:ebc29a793c7d 25721:0612d28321e8
6687 { 6687 {
6688 string_in = NULL; 6688 string_in = NULL;
6689 if (argvars[2].v_type == VAR_STRING) 6689 if (argvars[2].v_type == VAR_STRING)
6690 string_in = argvars[2].vval.v_string; 6690 string_in = argvars[2].vval.v_string;
6691 if (type == VAR_NUMBER) 6691 if (type == VAR_NUMBER)
6692 {
6692 string_result = NULL; 6693 string_result = NULL;
6694 }
6693 else 6695 else
6696 {
6697 rettv->vval.v_string = NULL;
6694 string_result = &rettv->vval.v_string; 6698 string_result = &rettv->vval.v_string;
6699 }
6695 if (mch_libcall(argvars[0].vval.v_string, 6700 if (mch_libcall(argvars[0].vval.v_string,
6696 argvars[1].vval.v_string, 6701 argvars[1].vval.v_string,
6697 string_in, 6702 string_in,
6698 argvars[2].vval.v_number, 6703 argvars[2].vval.v_number,
6699 string_result, 6704 string_result,