diff options
Diffstat (limited to 'src/modules/loaders/loader_tga.c')
-rw-r--r-- | src/modules/loaders/loader_tga.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c index 93b84aa..8230d53 100644 --- a/src/modules/loaders/loader_tga.c +++ b/src/modules/loaders/loader_tga.c @@ -350,7 +350,9 @@ load(ImlibImage * im, ImlibProgressFunction progress, else dataptr = im->data + (y * im->w); - for (x = 0; x < im->w; x++) /* for each pixel in the row */ + for (x = 0; + (x < im->w) && (bufptr + bpp / 8 <= bufend); + x++) /* for each pixel in the row */ { switch (bpp) { @@ -406,7 +408,7 @@ load(ImlibImage * im, ImlibProgressFunction progress, /* loop until we've got all the pixels or run out of input */ while ((dataptr < final_pixel) && - ((bufptr + 1 + (bpp / 8)) < bufend)) + ((bufptr + 1 + (bpp / 8)) <= bufend)) { int count; |