From d20a4a82d4832274b68015e74233430a49901baf Mon Sep 17 00:00:00 2001 From: Rajesh Joseph Date: Thu, 3 Nov 2016 14:21:28 +0530 Subject: posix-acl: check dictionary before using it If extended attributes are not present in md-cache it returns NULL as xattr. posix acl xlator should check for NULL before using xattr. If normal and default ACLs are not set on file then md-cache will not contain system.posix_acl_access and system.posix_acl_default extended attributes in its cache. Therefore posix_acl_lookup_cbk should check xattr before using it, otherwise the logs will get filled with dictionary errors. > Reviewed-on: http://review.gluster.org/15769 > Reviewed-by: Raghavendra Talur > Smoke: Gluster Build System > Reviewed-by: jiffin tony Thottan > NetBSD-regression: NetBSD Build System > Reviewed-by: Vijay Bellur > CentOS-regression: Gluster Build System (cherry picked from commit de7fe24663713fff364cfc2b52b675e3e979ee68) Change-Id: Icebf73cf0b313bd3e82ca8cbda63786dd0fa47da BUG: 1392869 Signed-off-by: Rajesh Joseph Reviewed-on: http://review.gluster.org/15801 NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Smoke: Gluster Build System Reviewed-by: Raghavendra Talur --- xlators/system/posix-acl/src/posix-acl.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'xlators') diff --git a/xlators/system/posix-acl/src/posix-acl.c b/xlators/system/posix-acl/src/posix-acl.c index c1e8d782d89..9d467910339 100644 --- a/xlators/system/posix-acl/src/posix-acl.c +++ b/xlators/system/posix-acl/src/posix-acl.c @@ -880,6 +880,9 @@ posix_acl_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, ret = posix_acl_get (inode, this, &old_access, &old_default); + if (xattr == NULL) + goto acl_set; + data = dict_get (xattr, POSIX_ACL_ACCESS_XATTR); if (!data) goto acl_default; -- cgit