xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 19 03:36:19 UTC 2025


 randr/rrprovider.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 73f3c476080b6e46d3c30bc9e1a2e7e1a82507fb
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Thu May 15 10:32:52 2025 +0200

    randr: fix unconditional byte-swap in ProcRRGetProviderInfo()
    
    The list of the associated provider's capabilities was always swapped
    unconditionally, while it should only be in case of client having
    opposite endianess.
    
    Fixes: 426bc0a28edbe0e9153f692a02dd25f744ffa034
    Reported-By: dasha_uwu
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1977>

diff --git a/randr/rrprovider.c b/randr/rrprovider.c
index a142ff617..61e9001b4 100644
--- a/randr/rrprovider.c
+++ b/randr/rrprovider.c
@@ -220,10 +220,11 @@ ProcRRGetProviderInfo (ClientPtr client)
     }
     if (provider->output_source) {
         providers[i] = provider->output_source->id;
-        if (client->swapped)
-            swapl(&providers[i]);
         prov_cap[i] = RR_Capability_SourceOutput;
+        if (client->swapped) {
+            swapl(&providers[i]);
             swapl(&prov_cap[i]);
+        }
         i++;
     }
     xorg_list_for_each_entry(provscreen, &pScreen->secondary_list, secondary_head) {
@@ -245,7 +246,7 @@ ProcRRGetProviderInfo (ClientPtr client)
 
     memcpy(name, provider->name, rep.nameLength);
     if (client->swapped) {
-              swaps(&rep.sequenceNumber);
+        swaps(&rep.sequenceNumber);
         swapl(&rep.length);
         swapl(&rep.capabilities);
         swaps(&rep.nCrtcs);


More information about the xorg-commit mailing list