From 8d9f1e7ea3e06e8fbf9f2f75945ca8f4bf0999ff Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 22 Jun 2012 15:46:13 +0200 Subject: [PATCH] s3-vfs_gpfs: Fix bug #9003, posix acl on gpfs gpfs2smb_acl can leave errno!=0 around even if it returned a correct result!=NULL. We can only rely on errno being set if another error condition (in this case result==NULL) indicates an error. If result!=NULL, errno is undefined and can be anything. This leads to SAFE_FREE(result) further down even in the success case. --- source3/modules/vfs_gpfs.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index ca29f64..ecfa60a 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -586,8 +586,8 @@ static SMB_ACL_T gpfsacl_get_posix_acl(const char *path, gpfs_aclType_t type) pacl->acl_nace)); result = gpfs2smb_acl(pacl); - if (result == NULL) { - goto done; + if (result != NULL) { + errno = 0; } done: -- 1.7.3.4