fix leaks in path_lookupat()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2011-03-23 09:56:30 -04:00
parent eddecbb601
commit bd23a539d0
1 changed files with 5 additions and 2 deletions

View File

@ -1644,13 +1644,16 @@ static int path_lookupat(int dfd, const char *name,
err = -ECHILD;
}
if (!err)
if (!err) {
err = handle_reval_path(nd);
if (err)
path_put(&nd->path);
}
if (!err && nd->flags & LOOKUP_DIRECTORY) {
if (!nd->inode->i_op->lookup) {
path_put(&nd->path);
return -ENOTDIR;
err = -ENOTDIR;
}
}