CopyArea : bug if areas overlap

rixed at happyleptic.org rixed at happyleptic.org
Thu Feb 4 06:50:01 PST 2010


There is a fastpath in fbBlt() using memcpy if the source and dest rasters are
properly aligned. This fastpath rely on MEMCPY_WRAPPED, which is (sometime) a
mere memcpy().

So, if the rasters do overlap the behavior is undefined. On my loongson (mips)
at home, it segfaults, bus error or sometime hangs.

This is easy to replace this memcpy by a memmove to solve this bug, but I
wonder if these rasters are actually allowed to overlap ?  If not, then the bug
happens earlier.  That's a long time since I programmed for X11 but based on
XCopyArea manpage I would say it's OK to overlap, so memcpy really should be
memmove.

What do you think ?




More information about the xorg mailing list