Blame SOURCES/0025-sbus-read-destination-after-sender-is-set.patch

71e593
From d47b031bc09b43fe2002fd5c737969b733b4789b Mon Sep 17 00:00:00 2001
71e593
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
71e593
Date: Wed, 12 Sep 2018 13:21:11 +0200
71e593
Subject: [PATCH 25/28] sbus: read destination after sender is set
71e593
71e593
dbus_message_set_sender may reallocate internal fields which will yield pointer
71e593
obtained by dbus_message_get_* invalid.
71e593
71e593
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
71e593
(cherry picked from commit 9245bf1afe6767a0412212bc0040e606ee850e7d)
71e593
---
71e593
 src/sbus/server/sbus_server_handler.c | 8 +++++---
71e593
 1 file changed, 5 insertions(+), 3 deletions(-)
71e593
71e593
diff --git a/src/sbus/server/sbus_server_handler.c b/src/sbus/server/sbus_server_handler.c
71e593
index c300d81e1272fdb3d042491680ba9b678e00fbb1..d4e454780a29e321b322dced4b4c0ec7110233ad 100644
71e593
--- a/src/sbus/server/sbus_server_handler.c
71e593
+++ b/src/sbus/server/sbus_server_handler.c
71e593
@@ -148,9 +148,6 @@ sbus_server_filter(DBusConnection *dbus_conn,
71e593
         return DBUS_HANDLER_RESULT_HANDLED;
71e593
     }
71e593
71e593
-    destination = dbus_message_get_destination(message);
71e593
-    type = dbus_message_get_type(message);
71e593
-
71e593
     conn = dbus_connection_get_data(dbus_conn, server->data_slot);
71e593
     if (conn == NULL) {
71e593
         DEBUG(SSSDBG_CRIT_FAILURE, "Unknown connection!\n");
71e593
@@ -173,6 +170,11 @@ sbus_server_filter(DBusConnection *dbus_conn,
71e593
         return DBUS_HANDLER_RESULT_HANDLED;
71e593
     }
71e593
71e593
+    /* Set sender may reallocate internal fields so this needs to be read
71e593
+     * after we call dbus_message_set_sender(). */
71e593
+    destination = dbus_message_get_destination(message);
71e593
+    type = dbus_message_get_type(message);
71e593
+
71e593
     if (type == DBUS_MESSAGE_TYPE_SIGNAL) {
71e593
         return sbus_server_route_signal(server, conn, message, destination);
71e593
     }
71e593
--
71e593
2.14.4