summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Woelders <kim@woelders.dk>2021-09-13 11:53:28 +0200
committerKim Woelders <kim@woelders.dk>2021-09-14 07:42:34 +0200
commitb78a66195f5c569a154696673d085822a5a411b5 (patch)
tree6a41b9a15da0da384f7f5f2c9fb15604ab208f78
parentdbeb622c7a3df21740206aa2ee442eb2569ee4be (diff)
downloadimlib2-b78a66195f5c569a154696673d085822a5a411b5.tar.gz
LBM loader: Fix potential out-of-bounds memory access
-rw-r--r--src/modules/loaders/loader_lbm.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/loaders/loader_lbm.c b/src/modules/loaders/loader_lbm.c
index d8cd1bb..fdf9998 100644
--- a/src/modules/loaders/loader_lbm.c
+++ b/src/modules/loaders/loader_lbm.c
@@ -195,9 +195,12 @@ bodyrow(unsigned char *p, int z, ILBM * ilbm)
for (i = 0; i < z; i += w)
{
- b = ilbm->body.data[ilbm->offset++];
- while (b == 0x80 && ilbm->offset < ilbm->body.size)
- b = ilbm->body.data[ilbm->offset++];
+ if (ilbm->offset < ilbm->body.size)
+ {
+ b = ilbm->body.data[ilbm->offset++];
+ while (b == 0x80 && ilbm->offset < ilbm->body.size)
+ b = ilbm->body.data[ilbm->offset++];
+ }
if (ilbm->offset >= ilbm->body.size)
{