The patch is used to check if memory is allocated or not properly
in following functions. In case memory is not allocated, return
it from the function to avoid any potential crash.

a. signal_peer_found
b. signal_peer_changed
---
 gsupplicant/supplicant.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
old mode 100644
new mode 100755
index 1aca79c..c9ed8e2
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -2793,6 +2793,9 @@ static void signal_peer_found(const char *path, 
DBusMessageIter *iter)
        g_hash_table_replace(peer_mapping, peer->path, interface);

        property_data = dbus_malloc0(sizeof(struct peer_property_data));
+       if (!property_data)
+               return;
+       
        property_data->peer = peer;

        dbus_message_iter_next(iter);
@@ -2850,6 +2853,9 @@ static void signal_peer_changed(const char *path, 
DBusMessageIter *iter)
        }
        property_data = dbus_malloc0(sizeof(struct peer_property_data));
+       if (!property_data)
+               return;
+       
        property_data->peer = peer;

        supplicant_dbus_property_foreach(iter, peer_property, property_data);
--
1.7.9.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to