rimmed pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=56c202614b73f0e4c34d7a5cd070fe2b24d9217f

commit 56c202614b73f0e4c34d7a5cd070fe2b24d9217f
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Wed Nov 23 15:43:40 2016 +0200

    eina_file_win32: close handler in case of error
    
    Func _eina_file_win32_first_file try to find the first file in directory
    but if any file not found the file handler stay open, and func will
    return error. But in this case while handle is open impossible to do
    any actions. For example call eina_file_ls for empty folder, func will
    return error and fold folder open. And if we try to remove this folder
    Windows only mark it to delete, and remove it after the process is
    complete.
    
    Solution: close handler in error case.
---
 src/lib/eina/eina_file_win32.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_file_win32.c b/src/lib/eina/eina_file_win32.c
index 2df5956..54b5d90 100644
--- a/src/lib/eina/eina_file_win32.c
+++ b/src/lib/eina/eina_file_win32.c
@@ -160,7 +160,10 @@ _eina_file_win32_first_file(const char *dir, 
WIN32_FIND_DATA *fd)
            ((fd->cFileName[1] == '.') && (fd->cFileName[2] == '\0'))))
      {
         if (!FindNextFile(h, fd))
-          return INVALID_HANDLE_VALUE;
+          {
+             FindClose(h);
+             return INVALID_HANDLE_VALUE;
+          }
      }
 
    return h;

-- 


Reply via email to