diff options
author | Jeevaka Badrappan <jeevaka.badrappan@elektrobit.com> | 2011-01-20 14:52:55 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-01-20 10:00:15 -0600 |
commit | 67d1ddc22a9ce718e550db8f30ad4ab2a61e1695 (patch) | |
tree | 163be4947ed5156cc87edc75d5c2038009ca83ec /src/stkutil.c | |
parent | a847f2ac0f4d0b11041907eb8e78cf701294043b (diff) | |
download | ofono-67d1ddc22a9ce718e550db8f30ad4ab2a61e1695.tar.bz2 |
stkutil: add check for qualifier and browser id
Checks the valid qualifier and browser id values
applicable for launch browser proactive command
Diffstat (limited to 'src/stkutil.c')
-rw-r--r-- | src/stkutil.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/stkutil.c b/src/stkutil.c index b7f03e2d..abd1c991 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -1187,7 +1187,11 @@ static gboolean parse_dataobj_browser_id(struct comprehension_tlv_iter *iter, void *user) { unsigned char *byte = user; - return parse_dataobj_common_byte(iter, byte); + + if (parse_dataobj_common_byte(iter, byte) == FALSE || *byte > 4) + return FALSE; + + return TRUE; } /* Defined in TS 102.223 Section 8.48 */ @@ -3229,6 +3233,9 @@ static enum stk_command_parse_result parse_launch_browser( { struct stk_command_launch_browser *obj = &command->launch_browser; + if (command->qualifier > 3 || command->qualifier == 1) + return STK_PARSE_RESULT_DATA_NOT_UNDERSTOOD; + if (command->src != STK_DEVICE_IDENTITY_TYPE_UICC) return STK_PARSE_RESULT_DATA_NOT_UNDERSTOOD; |