From 1d1df5e60ac0d00cc506b92a607bf2b816fdd5cc Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Mon, 27 Apr 2009 08:18:06 -0400 Subject: [PATCH] Eliminate segfault on NSS and PAM responder startup. If the data provider is not yet available when NSS and PAM start, they will generate a segmentation fault when trying to configure their automatic reconnection to the Data Provider. I've now added code in sss_dp_init() to detect whether the dp_ctx is NULL and return EIO. --- server/responder/common/responder_common.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/server/responder/common/responder_common.c b/server/responder/common/responder_common.c index 50cda62..52be780 100644 --- a/server/responder/common/responder_common.c +++ b/server/responder/common/responder_common.c @@ -554,6 +554,10 @@ int sss_process_init(TALLOC_CTX *mem_ctx, DEBUG(0, ("fatal error setting up backend connector\n")); return ret; } + else if (!rctx->dp_ctx) { + DEBUG(0, ("Data Provider is not yet available. Retrying.\n")); + return EIO; + } ret = sysdb_init(rctx, ev, cdb, NULL, &rctx->sysdb); if (ret != EOK) { -- 1.6.0.6