ecore_x: handling realloc failure.

Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3182

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Srivardhan Hebbar 2015-10-19 11:21:22 -07:00 committed by Cedric BAIL
parent d541d9281e
commit c406cf79e1
1 changed files with 12 additions and 2 deletions

View File

@ -285,7 +285,7 @@ ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
Ecore_X_ID item,
int op)
{
Ecore_X_ID *lst;
Ecore_X_ID *lst, *temp;
int i, num;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@ -319,8 +319,18 @@ ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
goto done; /* Add it */
num++;
temp = lst;
lst = realloc(lst, num * sizeof(Ecore_X_ID));
lst[i] = item;
if (lst)
{
lst[i] = item;
}
else
{
lst = temp;
num--;
}
}
ecore_x_window_prop_xid_set(win, atom, type, lst, num);