forked from enlightenment/efl
ecore_evas_extn: Check whether server_data sender is client's server.
Summary: Sometimes, In ipc_server_data, extn->ipc.server's data is different with e->server's data. The case is as follows. Process'A' has a server. Process'B' has 'A's client(ee address : 0xB0). Process'B's client die, and 'B's server created. and server's ee address is same with destroyed client's ee(0xB0). At the same time, 'A's server send the message to 'B's client. but 'B's client is died! so _ipc_server_data would manipulate 'B's server data. Test Plan: Tizen Mobile Text. Reviewers: raster, spacegrapher, jpeg, wonsik, dkdk Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D4158
This commit is contained in:
parent
9f77c5ab55
commit
1733b09e1b
|
@ -986,6 +986,8 @@ _ipc_server_data(void *data, int type EINA_UNUSED, void *event)
|
|||
if (!extn) return ECORE_CALLBACK_PASS_ON;
|
||||
if (e->major != MAJOR)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
if (ee != ecore_ipc_server_data_get(extn->ipc.server))
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
switch (e->minor)
|
||||
{
|
||||
case OP_UPDATE:
|
||||
|
|
Loading…
Reference in New Issue