svn commit: samba r9511 - in
branches/SAMBA_4_0/source/libcli/security: .
metze at samba.org
metze at samba.org
Tue Aug 23 09:45:38 GMT 2005
Author: metze
Date: 2005-08-23 09:45:38 +0000 (Tue, 23 Aug 2005)
New Revision: 9511
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9511
Log:
- fix the memory trees
- add a note about a possible talloc_free()
metze
Modified:
branches/SAMBA_4_0/source/libcli/security/security_descriptor.c
branches/SAMBA_4_0/source/libcli/security/security_token.c
Changeset:
Modified: branches/SAMBA_4_0/source/libcli/security/security_descriptor.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/security/security_descriptor.c 2005-08-23 09:29:32 UTC (rev 9510)
+++ branches/SAMBA_4_0/source/libcli/security/security_descriptor.c 2005-08-23 09:45:38 UTC (rev 9511)
@@ -317,14 +317,14 @@
if (sd == NULL) return NULL;
if (owner_sid) {
- sd->owner_sid = dom_sid_parse_talloc(mem_ctx, owner_sid);
+ sd->owner_sid = dom_sid_parse_talloc(sd, owner_sid);
if (sd->owner_sid == NULL) {
talloc_free(sd);
return NULL;
}
}
if (group_sid) {
- sd->group_sid = dom_sid_parse_talloc(mem_ctx, group_sid);
+ sd->group_sid = dom_sid_parse_talloc(sd, group_sid);
if (sd->group_sid == NULL) {
talloc_free(sd);
return NULL;
@@ -353,6 +353,7 @@
}
ace->trustee = *sid;
status = security_descriptor_dacl_add(sd, ace);
+ /* TODO: check: would talloc_free(ace) here be correct? */
if (!NT_STATUS_IS_OK(status)) {
va_end(ap);
talloc_free(sd);
Modified: branches/SAMBA_4_0/source/libcli/security/security_token.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/security/security_token.c 2005-08-23 09:29:32 UTC (rev 9510)
+++ branches/SAMBA_4_0/source/libcli/security/security_token.c 2005-08-23 09:45:38 UTC (rev 9511)
@@ -78,14 +78,14 @@
* The only difference between guest and "anonymous"
* is the addition of Authenticated_Users.
*/
- ptoken->sids[2] = dom_sid_parse_talloc(mem_ctx, SID_WORLD);
+ ptoken->sids[2] = dom_sid_parse_talloc(ptoken->sids, SID_WORLD);
NT_STATUS_HAVE_NO_MEMORY(ptoken->sids[2]);
- ptoken->sids[3] = dom_sid_parse_talloc(mem_ctx, SID_NT_NETWORK);
+ ptoken->sids[3] = dom_sid_parse_talloc(ptoken->sids, SID_NT_NETWORK);
NT_STATUS_HAVE_NO_MEMORY(ptoken->sids[3]);
ptoken->num_sids = 4;
if (is_authenticated) {
- ptoken->sids[4] = dom_sid_parse_talloc(mem_ctx, SID_NT_AUTHENTICATED_USERS);
+ ptoken->sids[4] = dom_sid_parse_talloc(ptoken->sids, SID_NT_AUTHENTICATED_USERS);
NT_STATUS_HAVE_NO_MEMORY(ptoken->sids[4]);
ptoken->num_sids++;
}
@@ -99,9 +99,9 @@
break;
}
}
-
+
if (check_sid_idx == ptoken->num_sids) {
- ptoken->sids[ptoken->num_sids++] = talloc_reference(ptoken, groupSIDs[i]);
+ ptoken->sids[ptoken->num_sids++] = talloc_reference(ptoken->sids, groupSIDs[i]);
}
}
More information about the samba-cvs
mailing list