summaryrefslogtreecommitdiffstats
path: root/src/stkutil.c
diff options
context:
space:
mode:
authorJeevaka Badrappan <jeevaka.badrappan@elektrobit.com>2011-01-20 14:52:55 +0200
committerDenis Kenzior <denkenz@gmail.com>2011-01-20 10:00:15 -0600
commit67d1ddc22a9ce718e550db8f30ad4ab2a61e1695 (patch)
tree163be4947ed5156cc87edc75d5c2038009ca83ec /src/stkutil.c
parenta847f2ac0f4d0b11041907eb8e78cf701294043b (diff)
downloadofono-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.c9
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;