ecore pipe - fix close of pipe that doesnt set fd to invalid
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 11 Jul 2016 13:02:45 +0000 (22:02 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 11 Jul 2016 13:02:45 +0000 (22:02 +0900)
this should fix CID 1267459

src/lib/ecore/ecore_pipe.c

index 7ac6964..2642d5d 100644 (file)
@@ -389,6 +389,9 @@ _ecore_pipe_del(Ecore_Pipe *p)
    if (p->fd_handler) _ecore_main_fd_handler_del(p->fd_handler);
    if (p->fd_read != PIPE_FD_INVALID) pipe_close(p->fd_read);
    if (p->fd_write != PIPE_FD_INVALID) pipe_close(p->fd_write);
+   p->fd_handler = NULL;
+   p->fd_read = PIPE_FD_INVALID;
+   p->fd_write = PIPE_FD_INVALID;
    data = (void *)p->data;
    ecore_pipe_mp_free(p);
    return data;