s3-vfs_gpfs: Fix bug #9003, posix acl on gpfs
authorVolker Lendecke <vl@samba.org>
Fri, 22 Jun 2012 13:46:13 +0000 (15:46 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 22 Jun 2012 17:27:39 +0000 (19:27 +0200)
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.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Jun 22 19:27:39 CEST 2012 on sn-devel-104

source3/modules/vfs_gpfs.c

index d4009c44d88d9ff49f3bb6627d39c697f19fa368..a165cfadd84207245303d27fc73d096cd5c87fcc 100644 (file)
@@ -641,8 +641,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: