diff options
author | Ludvig Strigeus | 2001-11-06 21:29:23 +0000 |
---|---|---|
committer | Ludvig Strigeus | 2001-11-06 21:29:23 +0000 |
commit | 78413a1c438ac697cd37e444d1c05461cf8d1f0a (patch) | |
tree | 3bce2f381c4c9c903b487e19de23acc68c764788 /saveload.cpp | |
parent | 90cea864af14a784ef7fe26fbc8a58b911db6230 (diff) | |
download | scummvm-rg350-78413a1c438ac697cd37e444d1c05461cf8d1f0a.tar.gz scummvm-rg350-78413a1c438ac697cd37e444d1c05461cf8d1f0a.tar.bz2 scummvm-rg350-78413a1c438ac697cd37e444d1c05461cf8d1f0a.zip |
fix in save game loader,
sizeof(an element) * number of elements instead of sizeof(a pointer) fixed it,
buffer out of bounds read fixed in Scumm::isMaskActiveAt
svn-id: r3466
Diffstat (limited to 'saveload.cpp')
-rw-r--r-- | saveload.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/saveload.cpp b/saveload.cpp index c4dd27a3b4..db12578cde 100644 --- a/saveload.cpp +++ b/saveload.cpp @@ -79,12 +79,12 @@ bool Scumm::loadState(const char *filename) { CHECK_HEAP openRoom(-1); - memset(_inventory, 0, sizeof(_inventory)); + memset(_inventory, 0, sizeof(_inventory[0])*_numInventory); /* Nuke all resources */ - for (i=1; i<16; i++) - if (!(i==13 || i==12 || i==10 || res.mode[i])) - for(j=1; j<res.num[i]; j++) + for (i=1; i<=16; i++) + if (!(i==rtFlObject || i==rtTemp || i==rtBuffer || res.mode[i])) + for(j=0; j<res.num[i]; j++) nukeResource(i,j); initScummVars(); |