# HG changeset patch # User Bram Moolenaar # Date 1630605605 -7200 # Node ID 0612d28321e89e855ebef6a43d028e3e2d695246 # Parent ebc29a793c7dda0a78cbc97385a10b43f5a729d8 patch 8.2.3396: when libcall() fails invalid pointer may be used Commit: https://github.com/vim/vim/commit/87e1587b8add93e40340170e4261cdadc4c8940e Author: Bram Moolenaar 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) diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6689,9 +6689,14 @@ libcall_common(typval_T *argvars UNUSED, if (argvars[2].v_type == VAR_STRING) string_in = argvars[2].vval.v_string; if (type == VAR_NUMBER) + { string_result = NULL; + } else + { + rettv->vval.v_string = NULL; string_result = &rettv->vval.v_string; + } if (mch_libcall(argvars[0].vval.v_string, argvars[1].vval.v_string, string_in, diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3396, +/**/ 3395, /**/ 3394,