From 226586d46b82c0d8157d2e8ea2114c650ea1e869 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Fri, 27 Oct 2023 12:42:54 +0000 Subject: broadband-modem-mbim: fix crash with missing ICCID Output fields like ICCID or IMSI are optional in MBIM Subscriber Ready Status v3 operations. We should not assume they are set to a valid value when the operation succeeds. 2023-10-27T10:24:16.512461Z [modem0] started checking for basic SIM details... 2023-10-27T10:24:16.516104Z mm_3gpp_parse_iccid: assertion 'raw_iccid != NULL' failed --- src/mm-broadband-modem-mbim.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index 8b2eaaa2..e7077574 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -6471,9 +6471,11 @@ basic_sim_details_subscriber_ready_state_ready (MbimDevice *device, sim_details = g_slice_new0 (SimDetails); if (ready_state != MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED) { sim_details->sim_inserted = TRUE; - sim_details->iccid = mm_3gpp_parse_iccid (raw_iccid, &inner_error); - if (!sim_details->iccid) { - mm_obj_warn (self, "can not get ICCID info: couldn't parse SIM ICCID: %s", inner_error->message); + if (raw_iccid) { + sim_details->iccid = mm_3gpp_parse_iccid (raw_iccid, &inner_error); + if (!sim_details->iccid) { + mm_obj_warn (self, "can not get ICCID info: couldn't parse SIM ICCID: %s", inner_error->message); + } } sim_details->imsi = imsi; } -- cgit v1.2.3-70-g09d2