FYI Byteswap routines are broken in xvdisp.c. SWriteQueryExtensionReply for
instance is calling WriteToClient with (char *)&rep (pointer to nothing) as
last arg. I believe it should be (char *)rep. In my situation the client is
running on SGI (Irix 6.5) server is running on linux / X86. Apparently these
routines were never tested. I am working on a fix. Fixed return args but
server is now aborting elsewere. Works fine with same-sex platform. Using
xvinfo to test.
So how is that fix going?
(In reply to comment #1)
> So how is that fix going?
I have it fixed, Server is working fine now.
I will check to see if I can send the code.
Please attach to the code to this bug and keyword it as a patch.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
I don't see a proposed patch ever got attached, but hit this today, and confirmed
the diagnosis in comment #0, as well as additional errors from using variables
like length fields or number of items in a list after swapping them. Will
commit patch to Xorg git master shortly.
Fix committed to git master:
Author: Alan Coopersmith <firstname.lastname@example.org>
Date: Wed Jan 2 19:27:22 2008 -0800
X.Org bug 4947/Sun bug 6646626: Xv extension not byte-swapping properly
X.Org Bugzilla #4947 <https://bugs.freedesktop.org/show_bug.cgi?id=4947>
Sun bug 6646626 <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6646626>
Don't use swapped data after swapping it. When done swapping data,
send the swapped data, not the address of the pointer to it, to the client.