diff options
author | Andreas Schneider <asn@samba.org> | 2018-12-12 10:21:25 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-12-12 22:18:52 +0100 |
commit | 9c507e98f03eabe59df774a9a5f51411fc23d4e5 (patch) | |
tree | 509a93313ab2f5411fffca832bd74c8134cd309f /libcli | |
parent | e7a8e4e6433bf26f6eac46e6a5f65f421a8981bb (diff) | |
download | samba-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.c | 15 |
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: |