bmp: Sanity check images
diff --git a/stage23/lib/bmp.c b/stage23/lib/bmp.c
index a299caac..1b381c56 100644
--- a/stage23/lib/bmp.c
+++ b/stage23/lib/bmp.c
@@ -40,7 +40,10 @@ int bmp_open_image(struct image *image, struct file_handle *file) {
if (memcmp(&header.bf_signature, "BM", 2) != 0)
return -1;
- if ((header.bi_bpp < 8) | ((header.bi_bpp % 8) != 0))
+ if ((header.bi_bpp != 32) && (header.bi_bpp != 24))
+ return -1;
+
+ if (header.bi_compression)
return -1;
struct bmp_local *local = ext_mem_alloc(sizeof(struct bmp_local));
