stk: Fix crash seen in stk_alpha_id_unset
authorJeevaka Badrappan <jeevaka.badrappan@linux.intel.com>
Fri, 15 Jul 2011 16:29:27 +0000 (09:29 -0700)
committerDenis Kenzior <denkenz@gmail.com>
Fri, 15 Jul 2011 16:35:13 +0000 (11:35 -0500)
If there is no default agent, then current agent also will
be NULL. So, call stk_agent_request_cancel only when there is a valid
current agent.

src/stk.c

index 4df23b5..e8ffb42 100644 (file)
--- a/src/stk.c
+++ b/src/stk.c
@@ -529,7 +529,12 @@ static void stk_alpha_id_set(struct ofono_stk *stk,
 
 static void stk_alpha_id_unset(struct ofono_stk *stk)
 {
-       stk_agent_request_cancel(stk->current_agent);
+       /*
+        * If there is no default agent, then current agent also will be NULL.
+        * So, call request cancel only when there is a valid current agent.
+        */
+       if (stk->current_agent)
+               stk_agent_request_cancel(stk->current_agent);
 }
 
 static int duration_to_msecs(const struct stk_duration *duration)