stk: Validate src/dst combination
authorDenis Kenzior <denkenz@gmail.com>
Tue, 2 Mar 2010 00:16:23 +0000 (18:16 -0600)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 2 Mar 2010 00:16:23 +0000 (18:16 -0600)
src/stkutil.c

index 39eb54a..337868b 100644 (file)
@@ -347,6 +347,12 @@ static gboolean parse_display_text(struct stk_command *command,
        struct stk_command_display_text *obj = &command->display_text;
        gboolean ret;
 
+       if (command->src != STK_DEVICE_IDENTITY_TYPE_UICC)
+               return FALSE;
+
+       if (command->dst != STK_DEVICE_IDENTITY_TYPE_DISPLAY)
+               return FALSE;
+
        obj->frame_id = 0xFF;
 
        ret = parse_dataobj(iter, STK_DATA_OBJECT_TYPE_TEXT,
@@ -383,6 +389,12 @@ static gboolean parse_get_inkey(struct stk_command *command,
        struct stk_command_display_text *obj = &command->get_inkey;
        gboolean ret;
 
+       if (command->src != STK_DEVICE_IDENTITY_TYPE_UICC)
+               return FALSE;
+
+       if (command->dst != STK_DEVICE_IDENTITY_TYPE_TERMINAL)
+               return FALSE;
+
        obj->frame_id = 0xFF;
 
        ret = parse_dataobj(iter, STK_DATA_OBJECT_TYPE_TEXT,
@@ -421,6 +433,12 @@ static gboolean parse_get_input(struct stk_command *command,
 
        obj->frame_id = 0xFF;
 
+       if (command->src != STK_DEVICE_IDENTITY_TYPE_UICC)
+               return FALSE;
+
+       if (command->dst != STK_DEVICE_IDENTITY_TYPE_TERMINAL)
+               return FALSE;
+
        ret = parse_dataobj(iter, STK_DATA_OBJECT_TYPE_TEXT,
                                DATAOBJ_FLAG_MANDATORY | DATAOBJ_FLAG_MINIMUM,
                                &obj->text,