diff options
author | Kim Woelders <kim@woelders.dk> | 2021-09-13 11:53:28 +0200 |
---|---|---|
committer | Kim Woelders <kim@woelders.dk> | 2021-09-14 07:42:34 +0200 |
commit | b78a66195f5c569a154696673d085822a5a411b5 (patch) | |
tree | 6a41b9a15da0da384f7f5f2c9fb15604ab208f78 | |
parent | dbeb622c7a3df21740206aa2ee442eb2569ee4be (diff) | |
download | imlib2-b78a66195f5c569a154696673d085822a5a411b5.tar.gz |
LBM loader: Fix potential out-of-bounds memory access
-rw-r--r-- | src/modules/loaders/loader_lbm.c | 9 |
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) { |