Rein Klazes wijn@wanadoo.nl writes:
Fixing bug #4506: unaligned 32bit access, can access one byte beyond the pixel buffer.
Changelog: dlls/x11drv : dib_convert.c Avoid unaligned 32 bit reads, and reads beyond the input pixel buffer in the convert_888_to_0888_* functions.
This will badly hurt performance, you don't want to check alignment on every pixel. You should only check on the first one and copy 1 to 3 pixels as needed to align things properly, then do the 4 pixels at a time thing.