The `read_byte` method from `Reader` may return a negative int if an
error is encountered while reading.
This was not checked in lib/bitmap, we therefore add it.
Signed-off-by: Lucas Bajolet <lucas.bajolet@gmail.com>
# =============== Bitmap header ================
for x in [0..13] do
var b = fileReader.read_byte
- bitmap_header[x] = b.to_i
+ if b < 0 then return
+ bitmap_header[x] = b
end
self.file_size = get_value(bitmap_header.subarray(2, 4))
self.data_offset = get_value(bitmap_header.subarray(10, 4))
# =============== DIB header ================
for x in [0..39] do
var b = fileReader.read_byte
- dib_header[x] = b.to_i
+ if b < 0 then return
+ dib_header[x] = b
end
var dib_size = get_value(dib_header.subarray(0, 4))
# only support BITMAPINFOHEADER