On 26 January 2011 18:16, andrzej zaborowski <balrogg(a)gmail.com> wrote:
Hi Jeevaka,
On 26 January 2011 15:43, Jeevaka Badrappan
<jeevaka.badrappan(a)elektrobit.com> wrote:
> Fixes the crash seen when the null alpha identifier.
> Also removed the icon check as icon will always be a
> valid pointer.
Good catch, but we should fix this check instead of removing it, by
using icon->id != 0.
> ---
> src/stk.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/stk.c b/src/stk.c
> index 29d2087..c968eef 100644
> --- a/src/stk.c
> +++ b/src/stk.c
> @@ -477,9 +477,9 @@ static void stk_alpha_id_set(struct ofono_stk *stk,
> const char *text, const struct stk_text_attribute *attr,
> const struct stk_icon_id *icon)
> {
> - char *alpha = dbus_apply_text_attributes(text, attr);
> + char *alpha = dbus_apply_text_attributes(text ? text : "", attr);
>
> - if (alpha || icon)
> + if (alpha != NULL && alpha[0] != '\0')
> stk_agent_display_action_info(stk->current_agent, alpha, icon);
Ah, now I think I know where that crash is coming from, it's because
of NULL alpha and non-NULL icon. I think the right thing to do would
be to use alpha ? alpha : "" in the parameter.
Or possibly this check should be inside stk_agent_display_action_info,
what do you think?
Best regards