From: Günther Deschner Date: Wed, 16 Jul 2008 14:14:47 +0000 (+0200) Subject: netapi: fix map_group_info_to_buffer for GROUP_INFO_3 change. X-Git-Tag: samba-3.3.0pre1~530 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f2875677194f440ffebf18e6f5171be948114353;p=thirdparty%2Fsamba.git netapi: fix map_group_info_to_buffer for GROUP_INFO_3 change. Guenther --- diff --git a/source/lib/netapi/group.c b/source/lib/netapi/group.c index 5807ad83c12..ebaf3660ec2 100644 --- a/source/lib/netapi/group.c +++ b/source/lib/netapi/group.c @@ -593,6 +593,7 @@ static WERROR map_group_info_to_buffer(TALLOC_CTX *mem_ctx, struct GROUP_INFO_1 info1; struct GROUP_INFO_2 info2; struct GROUP_INFO_3 info3; + struct dom_sid sid; switch (level) { case 0: @@ -618,13 +619,14 @@ static WERROR map_group_info_to_buffer(TALLOC_CTX *mem_ctx, break; case 3: + if (!sid_compose(&sid, domain_sid, rid)) { + return WERR_NOMEM; + } + info3.grpi3_name = info->name.string; info3.grpi3_comment = info->description.string; info3.grpi3_attributes = info->attributes; - - if (!sid_compose((struct dom_sid *)&info3.grpi3_group_sid, domain_sid, rid)) { - return WERR_NOMEM; - } + info3.grpi3_group_sid = (struct domsid *)sid_dup_talloc(mem_ctx, &sid); *buffer = (uint8_t *)talloc_memdup(mem_ctx, &info3, sizeof(info3)); diff --git a/source/lib/netapi/netapi.h b/source/lib/netapi/netapi.h index 086a9a9fcac..f6345afe67c 100644 --- a/source/lib/netapi/netapi.h +++ b/source/lib/netapi/netapi.h @@ -138,7 +138,7 @@ struct GROUP_INFO_2 { struct GROUP_INFO_3 { const char * grpi3_name; const char * grpi3_comment; - struct domsid grpi3_group_sid; + struct domsid * grpi3_group_sid; uint32_t grpi3_attributes; };