From be806d96c9a337da35d0a7c3382c8a704101463f Mon Sep 17 00:00:00 2001 From: Inga Stotland Date: Fri, 11 Jan 2019 18:40:54 -0800 Subject: [PATCH] mesh: Fix reading device UUID from Join() call Supply correct parameters to l_dbus_message_iter_get_fixed_array to get the location from where to read UUID value. Change-Id: I0e2af0142882efb4d1079953a2a380dd9606dbdd Signed-off-by: Anupam Roy --- mesh/mesh.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mesh/mesh.c b/mesh/mesh.c index 910623b..446ea29 100644 --- a/mesh/mesh.c +++ b/mesh/mesh.c @@ -563,6 +563,7 @@ static struct l_dbus_message *join_network_call(struct l_dbus *dbus, { const char *app_path, *sender; struct l_dbus_message_iter iter_uuid; + uint8_t *uuid; uint32_t n; l_debug("Join network request"); @@ -577,7 +578,7 @@ static struct l_dbus_message *join_network_call(struct l_dbus *dbus, join_pending = l_new(struct join_data, 1); - l_dbus_message_iter_get_fixed_array(&iter_uuid, join_pending->uuid, &n); + l_dbus_message_iter_get_fixed_array(&iter_uuid, &uuid, &n); if (n != 16) { l_free(join_pending); @@ -586,6 +587,8 @@ static struct l_dbus_message *join_network_call(struct l_dbus *dbus, "Bad device UUID"); } + memcpy(join_pending->uuid, uuid, 16); + sender = l_dbus_message_get_sender(msg); join_pending->sender = l_strdup(sender); -- 2.7.4