diff options
Diffstat (limited to 'src/sbus/sssd_dbus_server.c')
-rw-r--r-- | src/sbus/sssd_dbus_server.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/sbus/sssd_dbus_server.c b/src/sbus/sssd_dbus_server.c index 18fb98df6..137524892 100644 --- a/src/sbus/sssd_dbus_server.c +++ b/src/sbus/sssd_dbus_server.c @@ -192,7 +192,7 @@ int sbus_new_server(TALLOC_CTX *mem_ctx, DBusError dbus_error; dbus_bool_t dbret; char *tmp; - int ret; + int ret, tmp_ret; char *filename; char *symlink_filename = NULL; const char *socket_address; @@ -343,9 +343,17 @@ int sbus_new_server(TALLOC_CTX *mem_ctx, *_server = talloc_steal(mem_ctx, server); ret = EOK; + done: if (ret != EOK && symlink_filename) { - unlink(symlink_filename); + tmp_ret = unlink(symlink_filename); + /* non-fatal failure */ + if (tmp_ret != EOK) { + tmp_ret = errno; + DEBUG(SSSDBG_MINOR_FAILURE, + "Failed to remove symbolic link: %d [%s]!\n", + tmp_ret, sss_strerror(tmp_ret)); + } } talloc_free(tmp_ctx); return ret; |