aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-08-03 14:41:11 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-08-04 15:00:27 +0200
commit24ed8d3e997cb6dd30335a534e24dab467752b53 (patch)
treec1529bc4ec1ea967a8ed9cc1e9c1344b0f0ac580
parent0d3cca2c6f545cf9a91c75aed451df6d16ae5511 (diff)
broadband-modem: fix an ineffective `g_assert (equip_id)'
This patch fixes an ineffective `g_assert (equip_id)' in modem_load_equipment_identifier_finish(). After mm_parse_gsn() succeeds, `equip_id' is freed but not reset to NULL, so `g_assert (equip_id)' will never assert even if `imei', `meid', and `esn' are all NULL (though that shouldn't happen when mm_parse_gsn() succeeds).
-rw-r--r--src/mm-broadband-modem.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 2bfc3382..3e30aa90 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -901,7 +901,7 @@ modem_load_equipment_identifier_finish (MMIfaceModem *self,
/* Modems put all sorts of things into the GSN response; sanitize it */
if (mm_parse_gsn (equip_id, &imei, &meid, &esn)) {
- g_free (equip_id);
+ g_clear_pointer (&equip_id, g_free);
if (imei)
equip_id = g_strdup (imei);
@@ -909,11 +909,12 @@ modem_load_equipment_identifier_finish (MMIfaceModem *self,
equip_id = g_strdup (meid);
else if (esn)
equip_id = g_strdup (esn);
+ else
+ g_assert_not_reached ();
+
g_free (esn);
g_free (meid);
g_free (imei);
-
- g_assert (equip_id);
} else {
/* Leave whatever the modem returned alone */
}