From: Bram Moolenaar Date: Thu, 2 Sep 2021 17:53:07 +0000 (+0200) Subject: patch 8.2.3396: when libcall() fails invalid pointer may be used X-Git-Tag: v8.2.3396 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87e1587b8add93e40340170e4261cdadc4c8940e;p=vim 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 #8829) --- diff --git a/src/evalfunc.c b/src/evalfunc.c index 287ca3c3f..fd385fea3 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6689,9 +6689,14 @@ libcall_common(typval_T *argvars UNUSED, typval_T *rettv, int type) 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 index 435affea7..3708e8f07 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3396, /**/ 3395, /**/