C-CON: fix possible crash when a CON error is raised due to access of invalid sprite.

For example, in
    CON_ERRPRINTF("invalid target sprite (%d) %d %d\n", iActor, vm.g_i, TrackerCast(vm.g_sp->picnum));
vm.g_i can be -1 and vm.g_sp can be NULL then. (Not anymore.)

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4709 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2014-10-30 21:44:21 +00:00
parent 8605285f7f
commit ae63745eb3

View file

@ -140,9 +140,12 @@ int32_t VM_OnEvent_(int32_t iEventID, int32_t iActor, int32_t iPlayer, int32_t l
intptr_t *oinsptr=insptr;
vmstate_t vm_backup;
vmstate_t tempvm ={ iActor, iPlayer, lDist,
iActor >= 0 ? &actor[iActor].t_data[0] : NULL,
iActor >= 0 ? &sprite[iActor] : NULL,
static spritetype dummy_sprite;
static int32_t dummy_t[ARRAY_SIZE(actor[0].t_data)];
vmstate_t tempvm = { iActor, iPlayer, lDist,
iActor >= 0 ? &actor[iActor].t_data[0] : dummy_t,
iActor >= 0 ? &sprite[iActor] : &dummy_sprite,
0 };
int32_t backupReturnVar = aGameVars[g_iReturnVarID].val.lValue;