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)
committerKarolin Seeger <kseeger@samba.org>
Sat, 30 Jun 2012 11:44:59 +0000 (13:44 +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
(cherry picked from commit e7b58146d8576ae8bf4eaf2ec1063fe7697e05b8)
(cherry picked from commit bea2d3d007cef5643e863d2d4a80f0ea72461ec3)
(cherry picked from commit 6fa785d9b2379138bff759266a1545bf0240f092)

source3/modules/vfs_gpfs.c

index ca29f64e0bf252bffb2e9c677e3c2a7aee6bf870..ecfa60a4625d3a61ddd5ae7f02cd9ee76f7cace3 100644 (file)
@@ -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: