diff options
Diffstat (limited to 'source3/lib')
| -rw-r--r-- | source3/lib/netapi/group.c | 10 | ||||
| -rw-r--r-- | source3/lib/netapi/netapi.h | 2 | 
2 files changed, 7 insertions, 5 deletions
diff --git a/source3/lib/netapi/group.c b/source3/lib/netapi/group.c index 5807ad83c1..ebaf3660ec 100644 --- a/source3/lib/netapi/group.c +++ b/source3/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/source3/lib/netapi/netapi.h b/source3/lib/netapi/netapi.h index 086a9a9fca..f6345afe67 100644 --- a/source3/lib/netapi/netapi.h +++ b/source3/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;  };  | 
