diff options
author | Ben Chan <benchan@chromium.org> | 2017-08-03 14:41:11 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-08-04 15:00:27 +0200 |
commit | 24ed8d3e997cb6dd30335a534e24dab467752b53 (patch) | |
tree | c1529bc4ec1ea967a8ed9cc1e9c1344b0f0ac580 | |
parent | 0d3cca2c6f545cf9a91c75aed451df6d16ae5511 (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.c | 7 |
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 */ } |