aboutsummaryrefslogtreecommitdiff
path: root/unprotbas.c
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2024-05-25 01:59:22 -0400
committerB. Watson <urchlay@slackware.uk>2024-05-25 01:59:22 -0400
commit51b3bdd30fae6305c3475a7d49d507991e63a967 (patch)
treec5c76c871d4f4bb624f30bc41d8593443f6a2589 /unprotbas.c
parentda0f28eec887d690c3c2a69959687284f8eb9982 (diff)
downloadbw-atari8-tools-51b3bdd30fae6305c3475a7d49d507991e63a967.tar.gz
unprotbas: don't corrupt memory if >256 vvtable entries.
Diffstat (limited to 'unprotbas.c')
-rw-r--r--unprotbas.c5
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);
}