efl_io_queue: add null check for slice->mem
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 10 Apr 2018 07:13:44 +0000 (16:13 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 10 Apr 2018 13:28:42 +0000 (22:28 +0900)
A negative test case leads to segmentation fault.
If ecore_evas_msg_parent_send is called with NULL data, then slice->mem would
be NULL, and _efl_io_queue_efl_io_writer_write calls memcpy with NULL src.

src/lib/efl/interfaces/efl_io_queue.c

index 80bc063..d073836 100644 (file)
@@ -375,6 +375,7 @@ _efl_io_queue_efl_io_writer_write(Eo *o, Efl_Io_Queue_Data *pd, Eina_Slice *slic
    int err = EINVAL;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(slice, EINVAL);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(slice->mem, EINVAL);
    EINA_SAFETY_ON_TRUE_GOTO(efl_io_closer_closed_get(o), error);
 
    err = EBADF;