[Spice-commits] src/channel-main.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Mar 19 17:08:06 UTC 2020


 src/channel-main.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 7363d1a0a640b6992d5967621e37c3376958d708
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Thu Mar 19 15:50:45 2020 +0000

    channel-main: Avoid macro side effects
    
    In big endian system GUINT32_TO_LE macro uses the parameter
    multiple time causing serial to be incremented multiple times
    instead of one.
    Avoid side effects using a temporary variable.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Victor Toso <victortoso at redhat.com>

diff --git a/src/channel-main.c b/src/channel-main.c
index 0a0b9ca..d7669e8 100644
--- a/src/channel-main.c
+++ b/src/channel-main.c
@@ -1384,7 +1384,8 @@ static void agent_clipboard_grab(SpiceMainChannel *channel, guint selection,
     }
 
     if (test_agent_cap(channel, VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) {
-        *(uint32_t *)grab = GUINT32_TO_LE(c->clipboard_serial[selection]++);
+        uint32_t serial = c->clipboard_serial[selection]++;
+        *(uint32_t *)grab = GUINT32_TO_LE(serial);
         grab = (void *)grab + sizeof(uint32_t);
     }
 


More information about the Spice-commits mailing list