diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-03-07 10:52:19 +0100 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-03-07 13:12:08 -0500 |
commit | dc5c2de279c0f09c4f4fb5bf87eb598a199aa78a (patch) | |
tree | 6cad92b4e5fd7bd6fc4be63b314a3d5e50a539c8 /src | |
parent | 70d2bfb3b53b1551256f571e9061da600461df94 (diff) | |
download | sssd-dc5c2de279c0f09c4f4fb5bf87eb598a199aa78a.tar.gz sssd-dc5c2de279c0f09c4f4fb5bf87eb598a199aa78a.tar.xz sssd-dc5c2de279c0f09c4f4fb5bf87eb598a199aa78a.zip |
Prevent segfault in failover code
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/fail_over.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index a09a409d4..37ffe268f 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -312,7 +312,7 @@ get_server_status(struct fo_server *server) time_t timeout; if (server->common == NULL) - return SERVER_NAME_RESOLVED; + return SERVER_NAME_NOT_RESOLVED; DEBUG(7, ("Status of server '%s' is '%s'\n", SERVER_NAME(server), str_server_status(server->common->server_status))); @@ -353,7 +353,8 @@ get_port_status(struct fo_server *server) server->port_status = PORT_NEUTRAL; server->last_status_change.tv_sec = tv.tv_sec; - if (STATUS_DIFF(server->common, tv) > HOSTNAME_RESOLVE_TIMEOUT) { + if (server->common != NULL && + STATUS_DIFF(server->common, tv) > HOSTNAME_RESOLVE_TIMEOUT) { DEBUG(4, ("Reseting the server status of '%s'\n", SERVER_NAME(server))); fo_set_server_status(server, SERVER_NAME_NOT_RESOLVED); |