Mercurial > vim
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, |