Blame SOURCES/0001-Fix-g_memdup-deprecation-warning-with-glib-2.68.patch

bc4b25
From 8348ef3c6121247e2b8be0641bbf3df3d55d9bff Mon Sep 17 00:00:00 2001
bc4b25
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
bc4b25
Date: Tue, 4 May 2021 13:20:47 +0400
bc4b25
Subject: [PATCH] Fix g_memdup deprecation warning with glib >= 2.68
bc4b25
MIME-Version: 1.0
bc4b25
Content-Type: text/plain; charset=UTF-8
bc4b25
Content-Transfer-Encoding: 8bit
bc4b25
bc4b25
Related to:
bc4b25
https://bugzilla.redhat.com/show_bug.cgi?id=1943059
bc4b25
bc4b25
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
bc4b25
---
bc4b25
 configure.ac            | 4 ++++
bc4b25
 src/vdagent/vdagent.c   | 4 ++--
bc4b25
 src/vdagent/x11-randr.c | 2 +-
bc4b25
 src/vdagentd/vdagentd.c | 8 ++++----
bc4b25
 4 files changed, 11 insertions(+), 7 deletions(-)
bc4b25
bc4b25
diff --git a/configure.ac b/configure.ac
bc4b25
index 7b2a99c..3de9b9b 100644
bc4b25
--- a/configure.ac
bc4b25
+++ b/configure.ac
bc4b25
@@ -124,6 +124,10 @@ PKG_CHECK_MODULES(ALSA, [alsa >= 1.0.22])
bc4b25
 PKG_CHECK_MODULES([DBUS], [dbus-1])
bc4b25
 PKG_CHECK_MODULES([DRM], [libdrm])
bc4b25
 
bc4b25
+PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.68], [], [
bc4b25
+    AC_DEFINE(g_memdup2, g_memdup, [GLib2 < 2.68 compatibility])
bc4b25
+])
bc4b25
+
bc4b25
 if test "$with_session_info" = "auto" || test "$with_session_info" = "systemd"; then
bc4b25
     PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],
bc4b25
                       [libsystemd >= 209],
bc4b25
diff --git a/src/vdagent/vdagent.c b/src/vdagent/vdagent.c
bc4b25
index 0c69907..fd08522 100644
bc4b25
--- a/src/vdagent/vdagent.c
bc4b25
+++ b/src/vdagent/vdagent.c
bc4b25
@@ -228,7 +228,7 @@ static void daemon_read_complete(UdscsConnection *conn,
bc4b25
         break;
bc4b25
     case VDAGENTD_AUDIO_VOLUME_SYNC: {
bc4b25
         VDAgentAudioVolumeSync *avs = (VDAgentAudioVolumeSync *)data;
bc4b25
-        uint16_t *volume = g_memdup(avs->volume, sizeof(uint16_t) * avs->nchannels);
bc4b25
+        uint16_t *volume = g_memdup2(avs->volume, sizeof(uint16_t) * avs->nchannels);
bc4b25
 
bc4b25
         if (avs->is_playback) {
bc4b25
             vdagent_audio_playback_sync(avs->mute, avs->nchannels, volume);
bc4b25
@@ -414,7 +414,7 @@ int main(int argc, char *argv[])
bc4b25
     GOptionContext *context;
bc4b25
     GError *error = NULL;
bc4b25
     VDAgent *agent;
bc4b25
-    char **orig_argv = g_memdup(argv, sizeof(char*) * (argc+1));
bc4b25
+    char **orig_argv = g_memdup2(argv, sizeof(char*) * (argc+1));
bc4b25
     orig_argv[argc] = NULL; /* To avoid clang analyzer false-positive */
bc4b25
 
bc4b25
     context = g_option_context_new(NULL);
bc4b25
diff --git a/src/vdagent/x11-randr.c b/src/vdagent/x11-randr.c
bc4b25
index 27404a1..037aded 100644
bc4b25
--- a/src/vdagent/x11-randr.c
bc4b25
+++ b/src/vdagent/x11-randr.c
bc4b25
@@ -982,7 +982,7 @@ void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11,
bc4b25
                    fullscreen it will keep sending the failing config. */
bc4b25
                 g_free(x11->randr.failed_conf);
bc4b25
                 x11->randr.failed_conf =
bc4b25
-                    g_memdup(mon_config, config_size(mon_config->num_of_monitors));
bc4b25
+                    g_memdup2(mon_config, config_size(mon_config->num_of_monitors));
bc4b25
                 return;
bc4b25
             }
bc4b25
         }
bc4b25
diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c
bc4b25
index 78378aa..3e59331 100644
bc4b25
--- a/src/vdagentd/vdagentd.c
bc4b25
+++ b/src/vdagentd/vdagentd.c
bc4b25
@@ -216,7 +216,7 @@ static void do_client_monitors(VirtioPort *vport, int port_nr,
bc4b25
     vdagentd_write_xorg_conf(new_monitors);
bc4b25
 
bc4b25
     g_free(mon_config);
bc4b25
-    mon_config = g_memdup(new_monitors, size);
bc4b25
+    mon_config = g_memdup2(new_monitors, size);
bc4b25
 
bc4b25
     /* Send monitor config to currently active agent */
bc4b25
     if (active_session_conn)
bc4b25
@@ -249,7 +249,7 @@ static void do_client_capabilities(VirtioPort *vport,
bc4b25
 {
bc4b25
     capabilities_size = VD_AGENT_CAPS_SIZE_FROM_MSG_SIZE(message_header->size);
bc4b25
     g_free(capabilities);
bc4b25
-    capabilities = g_memdup(caps->caps, capabilities_size * sizeof(uint32_t));
bc4b25
+    capabilities = g_memdup2(caps->caps, capabilities_size * sizeof(uint32_t));
bc4b25
 
bc4b25
     if (caps->request) {
bc4b25
         /* Report the previous client has disconnected. */
bc4b25
@@ -647,7 +647,7 @@ static void virtio_port_read_complete(
bc4b25
     case VD_AGENT_GRAPHICS_DEVICE_INFO: {
bc4b25
         // store device info for re-sending when a session agent reconnects
bc4b25
         g_free(device_info);
bc4b25
-        device_info = g_memdup(data, message_header->size);
bc4b25
+        device_info = g_memdup2(data, message_header->size);
bc4b25
         device_info_size = message_header->size;
bc4b25
         forward_data_to_session_agent(VDAGENTD_GRAPHICS_DEVICE_INFO, data, message_header->size);
bc4b25
         break;
bc4b25
@@ -1090,7 +1090,7 @@ static void do_agent_xorg_resolution(UdscsConnection             *conn,
bc4b25
     }
bc4b25
 
bc4b25
     g_free(agent_data->screen_info);
bc4b25
-    agent_data->screen_info = g_memdup(data, header->size);
bc4b25
+    agent_data->screen_info = g_memdup2(data, header->size);
bc4b25
     agent_data->width  = header->arg1;
bc4b25
     agent_data->height = header->arg2;
bc4b25
     agent_data->screen_count = n;
bc4b25
-- 
bc4b25
2.31.1
bc4b25