xim immodule: fix dereference before NULL check issue in client_window_set

The variable 'info' can be NULL, therefore it should be checked before accessing.

This fixes CID 1039640
This commit is contained in:
Jihoon Kim 2013-11-29 11:35:44 +09:00
parent bab7612bb5
commit d9e7615a52
1 changed files with 7 additions and 6 deletions

View File

@ -1255,12 +1255,13 @@ _ecore_imf_xim_ic_client_window_set(Ecore_IMF_Context *ctx,
DBG("old_win=%#x, window=%#x", old_win, window);
if (old_win != 0 && old_win != window) /* XXX how do check window... */
{
XIM_Im_Info *info;
info = imf_context_data->im_info;
info->ics = eina_list_remove(info->ics, imf_context_data);
if (imf_context_data->im_info)
imf_context_data->im_info->user = NULL;
imf_context_data->im_info = NULL;
XIM_Im_Info *info = imf_context_data->im_info;
if (info)
{
info->ics = eina_list_remove(info->ics, imf_context_data);
info->user = NULL;
info = NULL;
}
}
imf_context_data->win = window;