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 11:56:01 -0500 |
commit | 90947ef26fa689a3252aa8282a01f60648e70fdb (patch) | |
tree | 317ab8984d68fed9e4ad6e259c44134907b3021a /fs/reiserfs | |
parent | 326a625748535c4cdb1c632b1dcb07030989a393 (diff) |
[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) | |||
228 | acl = ERR_PTR(retval); | 228 | acl = ERR_PTR(retval); |
229 | } else { | 229 | } else { |
230 | acl = posix_acl_from_disk(value, retval); | 230 | acl = posix_acl_from_disk(value, retval); |
231 | *p_acl = posix_acl_dup(acl); | 231 | if (!IS_ERR(acl)) |
232 | *p_acl = posix_acl_dup(acl); | ||
232 | } | 233 | } |
233 | 234 | ||
234 | kfree(value); | 235 | kfree(value); |