forked from enlightenment/efl
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:
parent
d541d9281e
commit
c406cf79e1
|
@ -285,7 +285,7 @@ ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
|
||||||
Ecore_X_ID item,
|
Ecore_X_ID item,
|
||||||
int op)
|
int op)
|
||||||
{
|
{
|
||||||
Ecore_X_ID *lst;
|
Ecore_X_ID *lst, *temp;
|
||||||
int i, num;
|
int i, num;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -319,8 +319,18 @@ ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
|
||||||
goto done; /* Add it */
|
goto done; /* Add it */
|
||||||
|
|
||||||
num++;
|
num++;
|
||||||
|
|
||||||
|
temp = lst;
|
||||||
lst = realloc(lst, num * sizeof(Ecore_X_ID));
|
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);
|
ecore_x_window_prop_xid_set(win, atom, type, lst, num);
|
||||||
|
|
Loading…
Reference in New Issue