stkutil: add check for qualifier and browser id
authorJeevaka Badrappan <jeevaka.badrappan@elektrobit.com>
Thu, 20 Jan 2011 12:52:55 +0000 (14:52 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Thu, 20 Jan 2011 16:00:15 +0000 (10:00 -0600)
Checks the valid qualifier and browser id values
applicable for launch browser proactive command

src/stkutil.c

index b7f03e2..abd1c99 100644 (file)
@@ -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;