Found using the Clang Static Analyzer.

* trans/fakeroot.c (new_node): Do not leak a pointer to freed memory.
Store NULL at *np instead.  This fixes a node use-after-free in
netfs_S_dir_lookup.
---
 trans/fakeroot.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 32a34ec..df2de64 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -119,6 +119,7 @@ new_node (file_t file, mach_port_t idport, int locked, int 
openmodes,
   mach_port_deallocate (mach_task_self (), nn->idport);
   mach_port_deallocate (mach_task_self (), file);
   free (*np);
+  *np = NULL;
   return err;
 }
 
-- 
2.0.0


Reply via email to