ecore_xcb: handle realloc failure.

Summary:
If realloc fails, then lst would be NULL, so assigning lst[i] only if realloc is successful, else assigning lst to previous memory location.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Srivardhan Hebbar 2015-10-08 12:20:46 +02:00 committed by Cedric BAIL
parent d64f50acfc
commit 84127a8963
1 changed files with 6 additions and 2 deletions

View File

@ -518,7 +518,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 = 0, num = 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@ -545,8 +545,12 @@ ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
if (op == ECORE_X_PROP_LIST_REMOVE)
goto done;
num++;
temp = lst;
lst = realloc(lst, num * sizeof(Ecore_X_ID));
lst[i] = item;
if (lst)
lst[i] = item;
else
lst = temp;
}
ecore_x_window_prop_xid_set(win, atom, type, lst, num);