barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=763251e50f6e51e5b2385f9e2d366a0b045dbcea
commit 763251e50f6e51e5b2385f9e2d366a0b045dbcea Author: Gustavo Sverzut Barbieri <barbi...@profusion.mobi> Date: Thu Dec 1 16:23:23 2016 -0200 efl_debugd: check for fwrite() return. if it fail, close the file and turn off logging for that client. Fixes CID 1366465 --- src/bin/efl/efl_debugd.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/bin/efl/efl_debugd.c b/src/bin/efl/efl_debugd.c index 1934c81..5c149d0 100644 --- a/src/bin/efl/efl_debugd.c +++ b/src/bin/efl/efl_debugd.c @@ -285,8 +285,21 @@ _process_command(void *data, const char op[static 4], const Eina_Slice payload) header[1] = blocksize; memcpy(header + 2, payload.mem, sizeof(int)); - fwrite(header, 12, 1, c->evlog_file); - fwrite(payload.bytes + sizeof(int), blocksize, 1, c->evlog_file); + if ((fwrite(header, 12, 1, c->evlog_file) != 1) || + (fwrite(payload.bytes + sizeof(int), blocksize, 1, c->evlog_file) != 1)) + { + fprintf(stderr, "INFO: failed to write log file for client %p [pid: %d]\n", c, (int)c->pid); + fclose(c->evlog_file); + c->evlog_file = NULL; + c->evlog_on = 0; + + send_cli(c, EVOF, NULL, 0); + if (c->evlog_fetch_timer) + { + ecore_timer_del(c->evlog_fetch_timer); + c->evlog_fetch_timer = NULL; + } + } } } } --