raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=76c854433fce9c15ae1cbc872e78a916135c694f

commit 76c854433fce9c15ae1cbc872e78a916135c694f
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Sep 21 16:50:17 2015 +0900

    efl - edje_cc - fix double close of embryo script fd's to tmp files
    
    @fix
    
    thanks to 김낙경 <nakkyong....@samsung.com> for pointing this out.
    indeed fclose() closes the fd adopted by fdopen(). it doesn't dup it.
    so we double-closed. it seems this never caused an issue until now.
    this should fix it.
---
 src/bin/edje/edje_cc_out.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index f40687d..c0264e6 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -1701,7 +1701,6 @@ data_thread_script(void *data, Ecore_Thread *thread 
EINA_UNUSED)
              return;
           }
      }
-   fclose(f);
 
    if (no_save)
      WRN("You are removing the source from this Edje file. This may break some 
use cases.\nBe aware of your choice and the poor kitten you are harming with 
it!");
@@ -1725,13 +1724,16 @@ data_thread_script(void *data, Ecore_Thread *thread 
EINA_UNUSED)
                        strlen(cp->original) + 1, compress_mode);
           }
      }
+   fclose(f);
 
    unlink(sc->tmpn);
    unlink(sc->tmpo);
    eina_tmpstr_del(sc->tmpn);
    eina_tmpstr_del(sc->tmpo);
-   close(sc->tmpn_fd);
-   close(sc->tmpo_fd);
+// closed by fclose(f) in create_script_file()
+//   close(sc->tmpn_fd);
+// closed by fclose(f) above
+//   close(sc->tmpo_fd);
 }
 
 static void

-- 


Reply via email to