summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/modules/vfs_aixacl2.c4
-rw-r--r--source3/modules/vfs_gpfs.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/source3/modules/vfs_aixacl2.c b/source3/modules/vfs_aixacl2.c
index c97cd577f2..4ac6ada942 100644
--- a/source3/modules/vfs_aixacl2.c
+++ b/source3/modules/vfs_aixacl2.c
@@ -174,8 +174,10 @@ static NTSTATUS aixjfs2_fget_nt_acl(vfs_handle_struct *handle,
return posix_fget_nt_acl(fsp, security_info,
mem_ctx, ppdesc);
}
- if (result==False)
+ if (result==False) {
+ TALLOC_FREE(frame);
return NT_STATUS_ACCESS_DENIED;
+ }
status = smb_fget_nt_acl_nfs4(fsp, security_info, ppdesc,
mem_ctx, pacl);
diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index 6056b7e0af..7f00eac5f6 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -472,6 +472,7 @@ static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle,
}
/* GPFS ACL was not read, something wrong happened, error code is set in errno */
+ TALLOC_FREE(frame);
return map_nt_error_from_unix(errno);
}
@@ -1122,9 +1123,10 @@ static int gpfsacl_emu_chmod(vfs_handle_struct *handle,
DEBUG(10, ("gpfsacl_emu_chmod invoked for %s mode %o\n", path, mode));
result = gpfs_get_nfs4_acl(frame, path, &pacl);
- if (result)
+ if (result) {
TALLOC_FREE(frame);
return result;
+ }
if (mode & ~(S_IRWXU | S_IRWXG | S_IRWXO)) {
DEBUG(2, ("WARNING: cutting extra mode bits %o on %s\n", mode, path));