bmp: Prevent multiplication overflow in DecodeHeader
bmp: Prevent multiplication overflow in DecodeHeader

The multiplication can overflow as UBSan complained:

io-bmp.c:475:63: runtime error: signed integer overflow: 524672 * 4096
cannot be represented in type 'int'

Fix this by checking the header dimensions for sanity, and then checking
whether the rowstride * height multiplication does not overflow and fits
within the range.

https://bugzilla.gnome.org/show_bug.cgi?id=776694

GNOME/gdk-pixbuf,GNOME/gdk-pixbuf,GNOME/gdk-pixbuf,GNOME/gdk-pixbuf