summaryrefslogtreecommitdiffstats
path: root/src/responder/ssh/sshsrv_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/responder/ssh/sshsrv_cmd.c')
-rw-r--r--src/responder/ssh/sshsrv_cmd.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/responder/ssh/sshsrv_cmd.c b/src/responder/ssh/sshsrv_cmd.c
index 5bed2e0ad..e7bed3ab2 100644
--- a/src/responder/ssh/sshsrv_cmd.c
+++ b/src/responder/ssh/sshsrv_cmd.c
@@ -536,7 +536,7 @@ static errno_t
ssh_host_pubkeys_update_known_hosts(struct ssh_cmd_ctx *cmd_ctx)
{
TALLOC_CTX *tmp_ctx;
- errno_t ret;
+ errno_t ret, tmp_ret;
const char *attrs[] = {
SYSDB_NAME,
SYSDB_NAME_ALIAS,
@@ -654,7 +654,17 @@ ssh_host_pubkeys_update_known_hosts(struct ssh_cmd_ctx *cmd_ctx)
done:
if (fd != -1) close(fd);
- if (ret != EOK && filename) unlink(filename);
+ if (ret != EOK && filename) {
+ tmp_ret = unlink(filename);
+ /* non-fatal failure */
+ if (tmp_ret != EOK) {
+ tmp_ret = errno;
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ "Failed to remove file: %s - %d : [%s]!\n",
+ filename, tmp_ret, sss_strerror(tmp_ret));
+ }
+ }
+
talloc_free(tmp_ctx);
return ret;