aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-modem-firmware.c
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-08-02 21:53:14 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-08-03 12:19:37 +0200
commitbae4590784e9c4ca9b902b9fc69606cffe0ddb14 (patch)
treefeb1aabf9dbb954951f26e7297c3fb5f7b96477f /libmm-glib/mm-modem-firmware.c
parent5accaf504f92b93b66058ac856a7d0b150b1c410 (diff)
libmm-glib,firmware: fix unique_id checks
The following checks in mm_modem_firmware_select() and mm_modem_firmware_select_sync() could result in a NULL pointer dereference if `unique_id' is NULL: g_return_if_fail (unique_id != NULL || unique_id[0] == '\0') g_return_val_if_fail (unique_id != NULL || unique_id[0] == '\0', FALSE) This patch fixes the checks to properly verify that `unique_id' is neither NULL nor an empty string.
Diffstat (limited to 'libmm-glib/mm-modem-firmware.c')
-rw-r--r--libmm-glib/mm-modem-firmware.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libmm-glib/mm-modem-firmware.c b/libmm-glib/mm-modem-firmware.c
index 0bc6c6bd..734b8959 100644
--- a/libmm-glib/mm-modem-firmware.c
+++ b/libmm-glib/mm-modem-firmware.c
@@ -128,7 +128,7 @@ mm_modem_firmware_select (MMModemFirmware *self,
gpointer user_data)
{
g_return_if_fail (MM_IS_MODEM_FIRMWARE (self));
- g_return_if_fail (unique_id != NULL || unique_id[0] == '\0');
+ g_return_if_fail (unique_id != NULL && unique_id[0] != '\0');
mm_gdbus_modem_firmware_call_select (MM_GDBUS_MODEM_FIRMWARE (self), unique_id, cancellable, callback, user_data);
}
@@ -157,7 +157,7 @@ mm_modem_firmware_select_sync (MMModemFirmware *self,
GError **error)
{
g_return_val_if_fail (MM_IS_MODEM_FIRMWARE (self), FALSE);
- g_return_val_if_fail (unique_id != NULL || unique_id[0] == '\0', FALSE);
+ g_return_val_if_fail (unique_id != NULL && unique_id[0] != '\0', FALSE);
return mm_gdbus_modem_firmware_call_select_sync (MM_GDBUS_MODEM_FIRMWARE (self), unique_id, cancellable, error);
}