response_extra_sent() expects to free a malloced
extra_data.data while the add_XX_to_array functions all return talloced
memory now. Jeremy, please check.
Guenther
(This used to be commit
9f34c9f3695757819d728a17a1497247ea479ebf)
(struct getgroups_state *)private_data;
if (success) {
- if (!add_gid_to_array_unique(NULL, gid,
+ if (!add_gid_to_array_unique(s->state->mem_ctx, gid,
&s->token_gids,
&s->num_token_gids)) {
return;
}
s->state->response.data.num_entries = s->num_token_gids;
- s->state->response.extra_data.data = s->token_gids;
+ /* s->token_gids are talloced */
+ s->state->response.extra_data.data = smb_xmemdup(s->token_gids, s->num_token_gids * sizeof(gid_t));
s->state->response.length += s->num_token_gids * sizeof(gid_t);
request_ok(s->state);
}