summaryrefslogtreecommitdiffstats
path: root/src/monitor
diff options
context:
space:
mode:
authorPavel Reichl <preichl@redhat.com>2014-11-28 13:17:44 +0000
committerJakub Hrozek <jhrozek@redhat.com>2014-11-28 16:16:37 +0100
commitaff8b0e3b41644c70704b78e15501779d52b6ff4 (patch)
treef0ae0696f623a5bfc36f18f7fea68af904a67f1d /src/monitor
parent5b4c6f22cb576a11037c7fa940fe0ba09e643e77 (diff)
downloadsssd-aff8b0e3b41644c70704b78e15501779d52b6ff4.tar.gz
sssd-aff8b0e3b41644c70704b78e15501779d52b6ff4.tar.xz
sssd-aff8b0e3b41644c70704b78e15501779d52b6ff4.zip
Fix: always check return value of unlink()
Resolves: https://fedorahosted.org/sssd/ticket/2506 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/monitor')
-rw-r--r--src/monitor/monitor.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index b55757d95..c6834a115 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -1685,7 +1685,14 @@ static errno_t load_configuration(TALLOC_CTX *mem_ctx,
* misconfiguration gets in the way
*/
talloc_zfree(ctx->cdb);
- unlink(cdb_file);
+ ret = unlink(cdb_file);
+ if (ret != EOK && errno != ENOENT) {
+ ret = errno;
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ "Purging existing confdb failed: %d [%s].\n",
+ ret, sss_strerror(ret));
+ goto done;
+ }
ret = confdb_init(ctx, &ctx->cdb, cdb_file);
if (ret != EOK) {