diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index dad19948bb2b4c42d4d0ccb797217257ea17e2af..6d5f76dbd96f83cc0367b6c6ffd95e6321d59821 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -12784,6 +12784,8 @@ mm_broadband_modem_create_device_identifier (MMBroadbandModem *self, const gchar *ati1, GError **error) { + gchar *device_identifier; + /* do nothing if device has gone already */ if (!self->priv->modem_dbus_skeleton) { g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, @@ -12791,7 +12793,7 @@ mm_broadband_modem_create_device_identifier (MMBroadbandModem *self, return NULL; } - return (mm_create_device_identifier ( + device_identifier = mm_create_device_identifier ( mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)), mm_base_modem_get_product_id (MM_BASE_MODEM (self)), self, @@ -12804,7 +12806,15 @@ mm_broadband_modem_create_device_identifier (MMBroadbandModem *self, mm_gdbus_modem_get_model ( MM_GDBUS_MODEM (self->priv->modem_dbus_skeleton)), mm_gdbus_modem_get_manufacturer ( - MM_GDBUS_MODEM (self->priv->modem_dbus_skeleton)))); + MM_GDBUS_MODEM (self->priv->modem_dbus_skeleton))); + + if (!device_identifier) { + g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, + "Unable to generate a device identifier"); + return NULL; + } + + return device_identifier; } /*****************************************************************************/