[PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()
[safe/jmp/linux-2.6] / fs / pipe.c
index 8be381b..f73492b 100644 (file)
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -988,7 +988,10 @@ struct file *create_write_pipe(void)
        return f;
 
  err_dentry:
+       free_pipe_info(inode);
        dput(dentry);
+       return ERR_PTR(err);
+
  err_inode:
        free_pipe_info(inode);
        iput(inode);