x11drv fix for bug#4506: page fault on read access

Alexandre Julliard julliard at winehq.org
Tue Feb 28 05:38:13 CST 2006

Rein Klazes <wijn at 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.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list