On Wed, Dec 03, 2014 at 04:33:33PM +0100, Pavel Březina wrote:
>- if (groupnames[i] == NULL) {
>+ tmpstr = sss_replace_space(groupnames, name,
>+
ireq->ifp_ctx->rctx->override_space);
Sure, you can allocate tmpstr on groupnames, I think ireq or tmp_ctx would
be better choice.
>+ if (tmpstr == NULL) {
> DEBUG(SSSDBG_MINOR_FAILURE, "Cannot normalize %s\n",
name);
> continue;
> }
> } else {
>- groupnames[i] = name;
>+ tmpstr = name;
> }
>+
>+ groupnames[i] = sss_get_cased_name(ireq, tmpstr, domain->case_preserve);
Here, groupnames should be used as talloc context instead of ireq.
sss_get_cased_names duplicates the string so tmpstr should be freed.
>+ if (groupnames[i] == NULL) {
>+ DEBUG(SSSDBG_CRIT_FAILURE,
>+ "sss_get_cased_name failed, skipping\n");
>+ continue;
>+ }
>+
> DEBUG(SSSDBG_TRACE_FUNC, "Adding group %s\n", groupnames[i]);
> }
Both suggestions make sense, please see the attached patch. Thank you
for the review.