diff --git a/modules/lookup_file.c b/modules/lookup_file.c index a77068a..ab2dd0f 100644 --- a/modules/lookup_file.c +++ b/modules/lookup_file.c @@ -474,8 +474,12 @@ int lookup_read_master(struct master *master, time_t age, void *context) MODPREFIX "failed to read included master map %s", master->name); - fclose(f); - return NSS_STATUS_UNAVAIL; + if (!master->recurse) { + master->depth--; + master->recurse = 0; + fclose(f); + return NSS_STATUS_UNAVAIL; + } } master->depth--; master->recurse = 0;