diff options
author | Jeff Mahoney <jeffm@suse.com> | 2006-02-13 11:12:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-13 08:56:01 -0800 |
commit | 90947ef26fa689a3252aa8282a01f60648e70fdb (patch) | |
tree | 317ab8984d68fed9e4ad6e259c44134907b3021a /fs/reiserfs | |
parent | 326a625748535c4cdb1c632b1dcb07030989a393 (diff) | |
download | blackbird-op-linux-90947ef26fa689a3252aa8282a01f60648e70fdb.tar.gz blackbird-op-linux-90947ef26fa689a3252aa8282a01f60648e70fdb.zip |
[PATCH] reiserfs: fix potential (unlikely) oops in reiserfs_get_acl
This fixes a potential oops if there is an error reported by
posix_acl_from_disk(). This is mostly theoretical due to the use of
magics and checksums in xattrs, but is still possible.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/xattr_acl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/reiserfs/xattr_acl.c b/fs/reiserfs/xattr_acl.c index 43de3ba83332..ab8894c3b9e5 100644 --- a/fs/reiserfs/xattr_acl.c +++ b/fs/reiserfs/xattr_acl.c @@ -228,7 +228,8 @@ struct posix_acl *reiserfs_get_acl(struct inode *inode, int type) acl = ERR_PTR(retval); } else { acl = posix_acl_from_disk(value, retval); - *p_acl = posix_acl_dup(acl); + if (!IS_ERR(acl)) + *p_acl = posix_acl_dup(acl); } kfree(value); |