summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-12-12 10:21:25 +0100
committerAndreas Schneider <asn@cryptomilk.org>2018-12-12 22:18:52 +0100
commit9c507e98f03eabe59df774a9a5f51411fc23d4e5 (patch)
tree509a93313ab2f5411fffca832bd74c8134cd309f /libcli
parente7a8e4e6433bf26f6eac46e6a5f65f421a8981bb (diff)
downloadsamba-9c507e98f03eabe59df774a9a5f51411fc23d4e5.tar.gz
libcli:security: Return early if there are no aces to duplicate
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Wed Dec 12 22:18:52 CET 2018 on sn-devel-144
Diffstat (limited to 'libcli')
-rw-r--r--libcli/security/security_descriptor.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/libcli/security/security_descriptor.c b/libcli/security/security_descriptor.c
index 02c3212fa63..7b7a13d421d 100644
--- a/libcli/security/security_descriptor.c
+++ b/libcli/security/security_descriptor.c
@@ -67,15 +67,20 @@ struct security_acl *security_acl_dup(TALLOC_CTX *mem_ctx,
return NULL;
}
+ *nacl = (struct security_acl) {
+ .revision = oacl->revision,
+ .size = oacl->size,
+ .num_aces = oacl->num_aces,
+ };
+ if (nacl->num_aces == 0) {
+ return nacl;
+ }
+
nacl->aces = (struct security_ace *)talloc_memdup (nacl, oacl->aces, sizeof(struct security_ace) * oacl->num_aces);
- if ((nacl->aces == NULL) && (oacl->num_aces > 0)) {
+ if (nacl->aces == NULL) {
goto failed;
}
- nacl->revision = oacl->revision;
- nacl->size = oacl->size;
- nacl->num_aces = oacl->num_aces;
-
return nacl;
failed: