diff options
author | B. Watson <urchlay@slackware.uk> | 2024-05-25 01:59:22 -0400 |
---|---|---|
committer | B. Watson <urchlay@slackware.uk> | 2024-05-25 01:59:22 -0400 |
commit | 51b3bdd30fae6305c3475a7d49d507991e63a967 (patch) | |
tree | c5c76c871d4f4bb624f30bc41d8593443f6a2589 /unprotbas.c | |
parent | da0f28eec887d690c3c2a69959687284f8eb9982 (diff) | |
download | bw-atari8-tools-51b3bdd30fae6305c3475a7d49d507991e63a967.tar.gz |
unprotbas: don't corrupt memory if >256 vvtable entries.
Diffstat (limited to 'unprotbas.c')
-rw-r--r-- | unprotbas.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/unprotbas.c b/unprotbas.c index acbbecf..28af9a5 100644 --- a/unprotbas.c +++ b/unprotbas.c @@ -354,6 +354,11 @@ int rebuild_vntable(int write) { unsigned char type = data[vv] >> 6; /* fprintf(stderr, "%04x: %04x, %d\n", vv, data[vv], type); */ + if(varnum == 256) { + fprintf(stderr, "Warning: skipping variable numbers >=256 in value table.\n"); + break; + } + if(varnum != data[vv+1]) { fprintf(stderr, "Warning: variable #%d value is corrupt!\n", varnum); } |