patch 8.2.2664: Vim9: not enough function arguments checked for string
Problem: Vim9: not enough function arguments checked for string.
Solution: Check in balloon functions. Refactor function arguments.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 6db93b8..6d845c1 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2323,8 +2323,12 @@
}
else
{
- char_u *mesg = tv_get_string_chk(&argvars[0]);
+ char_u *mesg;
+ if (in_vim9script() && check_for_string_arg(argvars, 0) == FAIL)
+ return;
+
+ mesg = tv_get_string_chk(&argvars[0]);
if (mesg != NULL)
// empty string removes the balloon
post_balloon(balloonEval, *mesg == NUL ? NULL : mesg, NULL);
@@ -2338,8 +2342,11 @@
{
if (rettv_list_alloc(rettv) == OK)
{
- char_u *msg = tv_get_string_chk(&argvars[0]);
+ char_u *msg;
+ if (in_vim9script() && check_for_string_arg(argvars, 0) == FAIL)
+ return;
+ msg = tv_get_string_chk(&argvars[0]);
if (msg != NULL)
{
pumitem_T *array;