adventuregamestudio / ags

AGS editor and engine source code
Other
697 stars 159 forks source link

Illegal Exception in No-Action Jackson #2366

Closed tag2015 closed 6 months ago

tag2015 commented 6 months ago

Describe the bug No-Action Jackson crashes with an Illegal exception right after the intro (intro can be skipped pressing ESC)

An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x004951DA; program pointer is +6, engine version 3.6.0.57, gtags (0,12) CrashInfo.3.6.0.57.dmp

AGS Version Latest 3.6.0/3.6.1

Game https://archive.org/details/No-Action_Jackson

To Reproduce Steps to reproduce the behavior:

  1. Start game
  2. Wait (or skip) intro

Desktop Win10

ivan-mogilko commented 6 months ago

This seems to happen when hovering a cursor over certain areas on the game screen. For some reason the "GetHotspotProperty" is called with -1 index.

EDIT: checking much older engine (around v3.4.4), it seems like this was happening all the time, but it somehow managed to "get away with this" because data had a different memory layout previously.

EDIT2: this starts crashing engines since v3.5.0, somehow nobody noticed this until now...

ivan-mogilko commented 6 months ago

Pushed a fix: 99f94c469636522bd2d89923901659476d816577

tag2015 commented 6 months ago

Thanks for the quick fix! Confirmed working