diff options
author | Aki Niemi <aki.niemi@nokia.com> | 2010-12-08 17:24:05 +0200 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2010-12-22 17:13:48 +0200 |
commit | 1bdc6f027c1be5c0155ca92f96663c18e86c70a7 (patch) | |
tree | 35925c47546a906c850c9513f9fe0f2015dc62bb | |
parent | c1cc241862f901ea11457489b0ff652ab56b6197 (diff) | |
download | ofono-1bdc6f027c1be5c0155ca92f96663c18e86c70a7.tar.bz2 |
isimodem: Fix SCA query response handling
-rw-r--r-- | drivers/isimodem/sms.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/isimodem/sms.c b/drivers/isimodem/sms.c index 35984b72..b73cfcde 100644 --- a/drivers/isimodem/sms.c +++ b/drivers/isimodem/sms.c @@ -62,6 +62,7 @@ struct sim_efsmsp{ /* Sub-block used by PN_SMS */ struct sms_params { + uint8_t location; uint8_t absent; uint8_t tp_pid; uint8_t tp_dcs; @@ -191,7 +192,7 @@ static void sca_query_resp_cb(const GIsiMessage *msg, void *data) if (!check_sim_status(msg, SIM_SMS_RESP, READ_PARAMETER)) goto error; - if (!g_isi_msg_data_get_struct(msg, 0, (void *)&info, len)) + if (!g_isi_msg_data_get_struct(msg, 2, (const void **) &info, len)) goto error; if (info->alphalen > 17) @@ -216,11 +217,11 @@ static void sca_query_resp_cb(const GIsiMessage *msg, void *data) * Bitmask indicating absense of parameters -- * If second bit is set it indicates that the SCA is absent */ - if (info->absent & 0x02) + if (info->absent & 0x2) goto error; bcd_len = info->sca[0]; - if (bcd_len <= 1 || bcd_len > 12) + if (bcd_len == 0 || bcd_len > 12) goto error; extract_bcd_number(info->sca + 2, bcd_len - 1, sca.number); |