summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorNiveditha Rau <niveditha.rau@oracle.com>2021-05-11 15:08:41 -0700
committerNiveditha Rau <niveditha.rau@oracle.com>2021-05-30 13:49:37 -0700
commit2de5ded3c6d73c1672d2cb14d603cb23fcd477e5 (patch)
tree4d81a46cb67a3978017b166cbb57307108678f42 /glx
parentbcb1de600a7656e4ee6434a8d2e2772ca9fd0473 (diff)
glx: Check for byte-swapping in SetReplyHeader
Check for the need to byte-swap when attempting to display GL apps between a big-endian server and little-endian client or vice versa. Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1127
Diffstat (limited to 'glx')
-rw-r--r--glx/vndcmds.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/glx/vndcmds.c b/glx/vndcmds.c
index 21c6fef9e..d6d8719e1 100644
--- a/glx/vndcmds.c
+++ b/glx/vndcmds.c
@@ -92,6 +92,9 @@ static void SetReplyHeader(ClientPtr client, void *replyPtr)
xGenericReply *rep = (xGenericReply *) replyPtr;
rep->type = X_Reply;
rep->sequenceNumber = client->sequence;
+ if (client->swapped) {
+ swaps(&rep->sequenceNumber);
+ }
rep->length = 0;
}