From 272efe495206cb52ef01e8f4ccdc3062988bdf22 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: May 19 2020 09:16:16 +0000 Subject: pam: make sure initgr cache is not created twice There are now two code paths which might call pam_initgr_cache_set() so we should make sure the initgr cache is not created twice. Resolves: https://pagure.io/SSSD/sssd/issue/4098 Reviewed-by: Pavel Březina --- diff --git a/src/responder/pam/pam_helpers.c b/src/responder/pam/pam_helpers.c index 2b931bd..d0a79c5 100644 --- a/src/responder/pam/pam_helpers.c +++ b/src/responder/pam/pam_helpers.c @@ -46,6 +46,12 @@ errno_t pam_initgr_cache_set(struct tevent_context *ev, struct timeval tv; struct pam_initgr_table_ctx *table_ctx; + ret = pam_initgr_check_timeout(id_table, name); + if (ret == EOK) { + /* user is already in the cache */ + goto done; + } + table_ctx = talloc_zero(id_table, struct pam_initgr_table_ctx); if (!table_ctx) return ENOMEM;