All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] stk: Check if an agent is registered when UI is required
@ 2012-08-30 16:20 Philippe Nunes
  2012-08-30 21:47 ` Denis Kenzior
  0 siblings, 1 reply; 2+ messages in thread
From: Philippe Nunes @ 2012-08-30 16:20 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]

In case of unsolicited proactive command, we could have a crash
when no agent was registered.
---
 src/stk.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/stk.c b/src/stk.c
index 18a8eaf..4c24abb 100644
--- a/src/stk.c
+++ b/src/stk.c
@@ -515,6 +515,9 @@ static gboolean stk_alpha_id_set(struct ofono_stk *stk,
 	if (alpha == NULL)
 		return FALSE;
 
+	if (stk->current_agent == NULL)
+		return FALSE;
+
 	if (stk->respond_on_exit)
 		stk_agent_display_action(stk->current_agent, alpha, icon,
 						user_termination_cb, stk, NULL);
@@ -2645,6 +2648,9 @@ static gboolean handle_setup_call_confirmation_req(struct stk_command *cmd,
 	if (alpha_id == NULL)
 		goto out;
 
+	if (stk->current_agent == FALSE)
+		goto out;
+
 	err = stk_agent_confirm_call(stk->current_agent, alpha_id,
 					&sc->icon_id_usr_cfm,
 					confirm_handled_call_cb,
@@ -2752,6 +2758,9 @@ void ofono_stk_proactive_command_notify(struct ofono_stk *stk,
 		case STK_COMMAND_TYPE_GET_INPUT:
 		case STK_COMMAND_TYPE_PLAY_TONE:
 		case STK_COMMAND_TYPE_SETUP_CALL:
+		case STK_COMMAND_TYPE_SEND_SMS:
+		case STK_COMMAND_TYPE_SEND_USSD:
+		case STK_COMMAND_TYPE_SEND_DTMF:
 			send_simple_response(stk, STK_RESULT_TYPE_NOT_CAPABLE);
 			return;
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-08-30 21:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-30 16:20 [PATCH] stk: Check if an agent is registered when UI is required Philippe Nunes
2012-08-30 21:47 ` Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.