summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-24 17:44:22 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-24 17:44:22 +0900
commitfd9e6b305d6f873aad241e5700d253d4ea0736e2 (patch)
tree60d31237520987fa1f1339cc3143f175434a2733
parent143709faba6c508a5d15c7d593bd67a18be3d446 (diff)
downloadefl-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.c9
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 };