From: Heiko Schlittermann Subject: Add preventive endpwent() to setpwent() --- a/src/responder/nss/nss_cmd.c +++ b/src/responder/nss/nss_cmd.c @@ -936,10 +936,19 @@ SSS_MC_PASSWD, nss_protocol_fill_pwent); } +static errno_t nss_cmd_endpwent(struct cli_ctx *cli_ctx) +{ + struct nss_state_ctx *state_ctx; + + state_ctx = talloc_get_type(cli_ctx->state_ctx, struct nss_state_ctx); + + return nss_endent(cli_ctx, &state_ctx->pwent); +} + static errno_t nss_cmd_setpwent(struct cli_ctx *cli_ctx) { struct nss_ctx *nss_ctx; - + nss_cmd_endpwent(cli_ctx); nss_ctx = talloc_get_type(cli_ctx->rctx->pvt_ctx, struct nss_ctx); return nss_setent(cli_ctx, CACHE_REQ_ENUM_USERS, &nss_ctx->pwent); @@ -958,15 +967,6 @@ &nss_ctx->pwent); } -static errno_t nss_cmd_endpwent(struct cli_ctx *cli_ctx) -{ - struct nss_state_ctx *state_ctx; - - state_ctx = talloc_get_type(cli_ctx->state_ctx, struct nss_state_ctx); - - return nss_endent(cli_ctx, &state_ctx->pwent); -} - static errno_t nss_cmd_getgrnam(struct cli_ctx *cli_ctx) { return nss_getby_name(cli_ctx, false, CACHE_REQ_GROUP_BY_NAME, NULL,