diff options
Diffstat (limited to 'drivers/isimodem/phonebook.c')
-rw-r--r-- | drivers/isimodem/phonebook.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/drivers/isimodem/phonebook.c b/drivers/isimodem/phonebook.c index 7d0fe2d9..ac98bbe9 100644 --- a/drivers/isimodem/phonebook.c +++ b/drivers/isimodem/phonebook.c @@ -111,16 +111,11 @@ static int decode_read_response(const unsigned char *msg, size_t len, guint8 namelen; guint8 numberlen; - if (g_isi_sb_iter_get_len(&iter) < 8) - goto error; - if (!g_isi_sb_iter_get_word(&iter, &loc, 4) || !g_isi_sb_iter_get_byte(&iter, &namelen, 6) || !g_isi_sb_iter_get_byte(&iter, &numberlen, 7)) goto error; - location = loc; - if (!g_isi_sb_iter_get_alpha_tag(&iter, &name, namelen * 2, 8)) goto error; @@ -128,15 +123,14 @@ static int decode_read_response(const unsigned char *msg, size_t len, if (!g_isi_sb_iter_get_alpha_tag(&iter, &number, numberlen * 2, 8 + namelen * 2)) goto error; + + location = loc; break; } case SIM_PB_SNE: { guint8 snelen; - if (g_isi_sb_iter_get_len(&iter) < 8) - goto error; - if (!g_isi_sb_iter_get_byte(&iter, &snelen, 6)) goto error; @@ -149,9 +143,6 @@ static int decode_read_response(const unsigned char *msg, size_t len, case SIM_PB_ANR: { guint8 anrlen; - if (g_isi_sb_iter_get_len(&iter) < 8) - goto error; - if (!g_isi_sb_iter_get_byte(&iter, &anrlen, 6)) goto error; @@ -164,9 +155,6 @@ static int decode_read_response(const unsigned char *msg, size_t len, case SIM_PB_EMAIL: { guint8 emaillen; - if (g_isi_sb_iter_get_len(&iter) < 8) - goto error; - if (!g_isi_sb_iter_get_byte(&iter, &emaillen, 6)) goto error; @@ -178,9 +166,6 @@ static int decode_read_response(const unsigned char *msg, size_t len, case SIM_PB_STATUS: - if (g_isi_sb_iter_get_len(&iter) < 5) - goto error; - if (!g_isi_sb_iter_get_byte(&iter, &status, 4)) goto error; |