diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2017-07-24 17:44:22 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2017-07-24 17:44:22 +0900 |
commit | fd9e6b305d6f873aad241e5700d253d4ea0736e2 (patch) | |
tree | 60d31237520987fa1f1339cc3143f175434a2733 | |
parent | 143709faba6c508a5d15c7d593bd67a18be3d446 (diff) | |
download | efl-fd9e6b305d6f873aad241e5700d253d4ea0736e2.tar.gz |
efl net server udp - report erro on alloc failure
unwind nicely and complain
-rw-r--r-- | src/lib/ecore_con/efl_net_server_udp.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/ecore_con/efl_net_server_udp.c b/src/lib/ecore_con/efl_net_server_udp.c index b83f5826b0..cd68271f95 100644 --- a/src/lib/ecore_con/efl_net_server_udp.c +++ b/src/lib/ecore_con/efl_net_server_udp.c @@ -340,6 +340,15 @@ _efl_net_server_udp_efl_net_server_fd_process_incoming_data(Eo *o, Efl_Net_Serve { void *tmp = realloc(buf, r); if (tmp) buf = tmp; + else + { + Eina_Error err = efl_net_socket_error_get(); + + free(buf); + ERR("Out of memory on efl net udp data incoming"); + efl_event_callback_call(o, EFL_NET_SERVER_EVENT_ERROR, &err); + return; + } } slice = (Eina_Rw_Slice){.mem = buf, .len = r }; |