CopyArea : bug if areas overlap

rixed at rixed at
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

What do you think ?

More information about the xorg mailing list