ecore_pipe: Fix potential double close
authorJean-Philippe Andre <jp.andre@samsung.com>
Fri, 31 Jul 2015 07:58:19 +0000 (16:58 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Mon, 3 Aug 2015 03:27:21 +0000 (12:27 +0900)
p->fd_read can be closed in _ecore_pipe_read (from a previous loop)

CID 1267459

src/lib/ecore/ecore_pipe.c

index 823f07d..35f921f 100644 (file)
@@ -487,8 +487,11 @@ _ecore_pipe_wait(Ecore_Pipe *p,
           }
         else if (errno != EINTR)
           {
-             close(p->fd_read);
-             p->fd_read = PIPE_FD_INVALID;
+             if (p->fd_read != PIPE_FD_INVALID)
+               {
+                  close(p->fd_read);
+                  p->fd_read = PIPE_FD_INVALID;
+               }
              break;
           }