diff options
author | Maneesh Jain <maneesh.jain@samsung.com> | 2015-10-05 15:24:21 +0530 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2015-10-08 12:13:03 +0300 |
commit | 3dcf067140bd968b0124d078e3a08f1a305e0a05 (patch) | |
tree | 4b7dac698e72a075e605374b77a57ff933fceac5 /gsupplicant | |
parent | ea66bc2f59d2a3339ff07c5f556ee4876538115d (diff) | |
download | connman-3dcf067140bd968b0124d078e3a08f1a305e0a05.tar.gz |
gsupplicant: Fix Potential crash issue in case of dbus_malloc0() fail
Return -ENOMEM if dbus_malloc0() allocation fails.
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/supplicant.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 98ca94b8..342cb01c 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -4980,6 +4980,9 @@ int g_supplicant_interface_p2p_connect(GSupplicantInterface *interface, return -ENOTSUP; data = dbus_malloc0(sizeof(*data)); + if (!data) + return -ENOMEM; + data->interface = interface; data->path = g_strdup(interface->path); data->peer = peer_params; @@ -5124,6 +5127,9 @@ int g_supplicant_interface_p2p_add_service(GSupplicantInterface *interface, return -ENOTSUP; data = dbus_malloc0(sizeof(*data)); + if (!data) + return -ENOMEM; + data->registration = true; data->interface = interface; data->service = p2p_service_params; @@ -5154,6 +5160,9 @@ int g_supplicant_interface_p2p_del_service(GSupplicantInterface *interface, return -ENOTSUP; data = dbus_malloc0(sizeof(*data)); + if (!data) + return -ENOMEM; + data->interface = interface; data->service = p2p_service_params; @@ -5239,6 +5248,9 @@ int g_supplicant_set_widi_ies(GSupplicantP2PServiceParams *p2p_service_params, return -EFAULT; data = dbus_malloc0(sizeof(*data)); + if (!data) + return -ENOMEM; + data->service = p2p_service_params; data->callback = callback; data->user_data = user_data; |