From e2d6d5637454c9c28343b78dd0176b323be0bc13 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 30 Jul 2010 18:17:57 -0500 Subject: [PATCH] stk: Handle the case where no agent is registered --- src/stk.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/stk.c b/src/stk.c index 506944a9..e2714ff5 100644 --- a/src/stk.c +++ b/src/stk.c @@ -1206,6 +1206,25 @@ void ofono_stk_proactive_command_notify(struct ofono_stk *stk, return; } + /* + * In case no agent is registered, we should reject commands destined + * to the Agent with a NOT_CAPABLE error. + */ + if (stk->current_agent == NULL) { + switch (stk->pending_cmd->type) { + case STK_COMMAND_TYPE_SELECT_ITEM: + case STK_COMMAND_TYPE_DISPLAY_TEXT: + case STK_COMMAND_TYPE_GET_INKEY: + case STK_COMMAND_TYPE_GET_INPUT: + case STK_COMMAND_TYPE_PLAY_TONE: + send_simple_response(stk, STK_RESULT_TYPE_NOT_CAPABLE); + return; + + default: + break; + } + } + memset(&rsp, 0, sizeof(rsp)); switch (stk->pending_cmd->type) {