From c12008b4d0118232aca3f45e3e77137acef75078 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 18 Oct 2019 13:30:03 -0400 Subject: [PATCH] efl/io: return EINVAL if null slice is passed for writing Summary: CIDs 1396996, 1396983, 1396953 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10451 --- src/lib/ecore/efl_appthread.c | 3 ++- src/lib/ecore/efl_exe.c | 3 ++- src/lib/ecore/efl_thread.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore/efl_appthread.c b/src/lib/ecore/efl_appthread.c index 90a900ebff..4655d1f646 100644 --- a/src/lib/ecore/efl_appthread.c +++ b/src/lib/ecore/efl_appthread.c @@ -174,6 +174,7 @@ _efl_appthread_efl_io_writer_write(Eo *obj, Efl_Appthread_Data *pd, Eina_Slice * errno = 0; if (pd->fd.in == -1) goto err; + if (!slice) return EINVAL; do { @@ -194,7 +195,7 @@ _efl_appthread_efl_io_writer_write(Eo *obj, Efl_Appthread_Data *pd, Eina_Slice * } slice->len = r; - if ((slice) && (slice->len > 0)) + if (slice->len > 0) efl_io_writer_can_write_set(obj, EINA_FALSE); if (r == 0) { diff --git a/src/lib/ecore/efl_exe.c b/src/lib/ecore/efl_exe.c index 6dcac4ffe0..f6ae3bfdde 100644 --- a/src/lib/ecore/efl_exe.c +++ b/src/lib/ecore/efl_exe.c @@ -746,6 +746,7 @@ _efl_exe_efl_io_writer_write(Eo *obj, Efl_Exe_Data *pd, Eina_Slice *slice, Eina_ errno = 0; if (pd->fd.in == -1) goto err; + if (!slice) return EINVAL; do { @@ -766,7 +767,7 @@ _efl_exe_efl_io_writer_write(Eo *obj, Efl_Exe_Data *pd, Eina_Slice *slice, Eina_ } slice->len = r; - if ((slice) && (slice->len > 0)) + if (slice->len > 0) efl_io_writer_can_write_set(obj, EINA_FALSE); if (r == 0) { diff --git a/src/lib/ecore/efl_thread.c b/src/lib/ecore/efl_thread.c index f1378883df..ab6fdab7a1 100644 --- a/src/lib/ecore/efl_thread.c +++ b/src/lib/ecore/efl_thread.c @@ -992,6 +992,7 @@ _efl_thread_efl_io_writer_write(Eo *obj, Efl_Thread_Data *pd, Eina_Slice *slice, errno = 0; if (pd->fd.in == -1) goto err; + if (!slice) return EINVAL; do { @@ -1012,7 +1013,7 @@ _efl_thread_efl_io_writer_write(Eo *obj, Efl_Thread_Data *pd, Eina_Slice *slice, } slice->len = r; - if ((slice) && (slice->len > 0)) + if (slice->len > 0) efl_io_writer_can_write_set(obj, EINA_FALSE); if (r == 0) {