kwo pushed a commit to branch master. http://git.enlightenment.org/legacy/imlib2.git/commit/?id=51a48ecfe97e32cc5797a3bee03a85ab5cb11207
commit 51a48ecfe97e32cc5797a3bee03a85ab5cb11207 Author: Kim Woelders <k...@woelders.dk> Date: Wed Mar 7 19:35:30 2018 +0100 BMP loader: Fix infinite loop with invalid bmp images (T6749) https://phab.enlightenment.org/T6749 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773968 --- src/modules/loaders/loader_bmp.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/modules/loaders/loader_bmp.c b/src/modules/loaders/loader_bmp.c index 2d15ba5..3fcc17e 100644 --- a/src/modules/loaders/loader_bmp.c +++ b/src/modules/loaders/loader_bmp.c @@ -235,6 +235,17 @@ load(ImlibImage * im, ImlibProgressFunction progress, ReadleLong(f, &rmask); ReadleLong(f, &gmask); ReadleLong(f, &bmask); + if (bitcount == 16) + { + rmask &= 0xffffU; + gmask &= 0xffffU; + bmask &= 0xffffU; + } + if (rmask == 0 || gmask == 0 || bmask == 0) + { + fclose(f); + return 0; + } for (bit = bitcount - 1; bit >= 0; bit--) { if (bmask & (1 << bit)) --