ecore_exe: close handles only if they are valid
authorVincent Torri <vincent dot torri at gmail dot com>
Tue, 29 Sep 2015 21:47:10 +0000 (23:47 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Tue, 13 Oct 2015 00:21:59 +0000 (17:21 -0700)
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/ecore/ecore_exe_win32.c

index 73957d7..d488d5a 100644 (file)
@@ -382,8 +382,8 @@ _impl_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe)
    SECURITY_ATTRIBUTES sa;
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
-   HANDLE child_pipe_read;
-   HANDLE child_pipe_error;
+   HANDLE child_pipe_read = NULL;
+   HANDLE child_pipe_error = NULL;
    const char *shell = NULL;
    Ecore_Exe_Event_Add *e;
    Ecore_Exe_Flags flags;
@@ -504,8 +504,8 @@ _impl_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe)
     * the pipe will not close when the child process exits and the
     * ReadFile will hang.
     */
-   CloseHandle(child_pipe_read);
-   CloseHandle(child_pipe_error);
+   IF_FN_DEL(CloseHandle, child_pipe_read);
+   IF_FN_DEL(CloseHandle, child_pipe_error);
 
    /* be sure that the child process is running */
    /* FIXME: This does not work if the child is an EFL-based app */