diff options
author | Pavel Reichl <preichl@redhat.com> | 2014-11-28 13:17:44 +0000 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-11-28 16:16:37 +0100 |
commit | aff8b0e3b41644c70704b78e15501779d52b6ff4 (patch) | |
tree | f0ae0696f623a5bfc36f18f7fea68af904a67f1d /src/monitor | |
parent | 5b4c6f22cb576a11037c7fa940fe0ba09e643e77 (diff) | |
download | sssd-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.c | 9 |
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) { |