git: libc - Fix more popen() issues
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Thu Jul 28 10:28:32 PDT 2016
    
    
  
commit 6be058eebc5e111cbd6a27d868d172241f95cdfb
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jul 28 10:03:08 2016 -0700
    libc - Fix more popen() issues
    
    * Fix a file descriptor leak between popen() and pclose() in a threaded
      environment.  The control structure is removed from the list, then the
      list is unlocked, then the file is closed.  This can race a popen
      inbetween the unlock and the closure.
    
    * Do not use fileno() inside vfork, it is a complex function in a threaded
      environment which could lead to corruption since the vfork()'s lwp id may
      clash with one from the parent process.
Summary of changes:
 lib/libc/gen/popen.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6be058eebc5e111cbd6a27d868d172241f95cdfb
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list