summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/responder/nss/nsssrv_cmd.c6
-rw-r--r--src/responder/nss/nsssrv_private.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c
index aa64432d5..459634b8d 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -4107,7 +4107,7 @@ static int nss_cmd_initgr_send_reply(struct nss_dom_ctx *dctx)
}
ret = fill_initgr(cctx->creq->out, dctx->domain, dctx->res, nctx,
- dctx->mc_name, cmdctx->name);
+ dctx->mc_name, cmdctx->normalized_name);
if (ret) {
return ret;
}
@@ -4151,14 +4151,14 @@ static int nss_cmd_initgroups_search(struct nss_dom_ctx *dctx)
/* make sure to update the dctx if we changed domain */
dctx->domain = dom;
- talloc_free(name);
+ talloc_zfree(cmdctx->normalized_name);
name = sss_get_cased_name(dctx, cmdctx->name, dom->case_sensitive);
if (!name) return ENOMEM;
name = sss_reverse_replace_space(cmdctx, name,
nctx->rctx->override_space);
/* save name so it can be used in initgr reply */
- cmdctx->name = name;
+ cmdctx->normalized_name = name;
if (name == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
"sss_reverse_replace_space failed\n");
diff --git a/src/responder/nss/nsssrv_private.h b/src/responder/nss/nsssrv_private.h
index e5a2486f1..72f7b7560 100644
--- a/src/responder/nss/nsssrv_private.h
+++ b/src/responder/nss/nsssrv_private.h
@@ -31,6 +31,7 @@ struct nss_cmd_ctx {
struct cli_ctx *cctx;
enum sss_cli_command cmd;
char *name;
+ const char *normalized_name;
bool name_is_upn;
uint32_t id;
char *secid;