浏览代码

[PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()

Duh...  Fortunately, the bug is quite recent (post-2.6.25) and, embarrassingly,
mine ;-/

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 17 年之前
父节点
当前提交
ed15243717
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      fs/pipe.c

+ 3 - 0
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);