diff options
author | Ben Chan <benchan@chromium.org> | 2017-08-02 21:53:14 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-08-03 12:19:37 +0200 |
commit | bae4590784e9c4ca9b902b9fc69606cffe0ddb14 (patch) | |
tree | feb1aabf9dbb954951f26e7297c3fb5f7b96477f | |
parent | 5accaf504f92b93b66058ac856a7d0b150b1c410 (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.
-rw-r--r-- | libmm-glib/mm-modem-firmware.c | 4 |
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); } |