From d597e1c7d4210eb5c5541eab83e6e620914ec0bd Mon Sep 17 00:00:00 2001 From: Gunnar Hjalmarsson Date: Wed, 5 Feb 2014 14:45:19 +0000 Subject: [PATCH 2/2] On startup, clean out the data of removed users --- src/daemon.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/daemon.c b/src/daemon.c index 5c91a7f..38fd317 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -388,11 +388,17 @@ entry_generator_cachedir (GHashTable *users, g_free (filename); if (regular) { + errno = 0; pwent = getpwnam (name); - if (pwent == NULL) - g_debug ("user '%s' in cache dir but not present on system", name); - else + if (pwent != NULL) return pwent; + else if (errno == 0) { + g_debug ("user '%s' in cache dir but not present on system, removing", name); + remove_cache_files (name); + } + else + g_warning ("failed to check if user '%s' in cache dir is present on system: %s", + name, g_strerror (errno)); } } -- 1.9.rc1