1
0
forked from aniani/vim

patch 9.0.1370: crash when using a NULL object

Problem:    Crash when using a NULL object. (Ernie Rael)
Solution:   Check for NULL and give an error message. (closes #12083)
This commit is contained in:
Bram Moolenaar 2023-03-02 17:38:33 +00:00
parent c6ff21e876
commit c3f971f289
3 changed files with 27 additions and 0 deletions

View File

@ -235,6 +235,24 @@ def Test_object_not_set()
END
v9.CheckScriptFailure(lines, 'E1360:')
lines =<< trim END
vim9script
class Class
this.id: string
def Method1()
echo 'Method1' .. this.id
enddef
endclass
var obj: Class
def Func()
obj.Method1()
enddef
Func()
END
v9.CheckScriptFailure(lines, 'E1360:')
lines =<< trim END
vim9script

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1370,
/**/
1369,
/**/

View File

@ -5321,6 +5321,13 @@ exec_instructions(ectx_T *ectx)
}
object_T *obj = tv->vval.v_object;
if (obj == NULL)
{
SOURCING_LNUM = iptr->isn_lnum;
emsg(_(e_using_null_object));
goto on_error;
}
int idx;
if (iptr->isn_type == ISN_GET_OBJ_MEMBER)
idx = iptr->isn_arg.number;