diff options
author | Martin Schwenke <martin@meltin.net> | 2020-01-13 21:13:32 +1100 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2020-01-28 09:57:32 +0000 |
commit | d79e2dcfc84d937db3c6eb3d17520aaf6e7bba4c (patch) | |
tree | 8d0bd3c288a960f2104d82e6d1bf5877c5eb5c40 | |
parent | 0ad6a243b259d284064c0c5abcc7d430d55be7e1 (diff) | |
download | samba-d79e2dcfc84d937db3c6eb3d17520aaf6e7bba4c.tar.gz |
ctdb-daemon: Only stop monitoring if it has been initialised
This avoids a crash if ctdb_shutdown_sequence() is called before
monitoring is initialised.
Switch to using TALLOC_FREE() while touching this function.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
-rw-r--r-- | ctdb/server/ctdb_monitor.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_monitor.c b/ctdb/server/ctdb_monitor.c index cfa3a6a1bfa..5c694bde969 100644 --- a/ctdb/server/ctdb_monitor.c +++ b/ctdb/server/ctdb_monitor.c @@ -416,8 +416,12 @@ static void ctdb_check_health(struct tevent_context *ev, */ void ctdb_stop_monitoring(struct ctdb_context *ctdb) { - talloc_free(ctdb->monitor->monitor_context); - ctdb->monitor->monitor_context = NULL; + if (ctdb->monitor == NULL) { + D_NOTICE("Monitoring not yet initialised\n"); + return; + } + + TALLOC_FREE(ctdb->monitor->monitor_context); ctdb->monitor->next_interval = 5; DEBUG(DEBUG_NOTICE,("Monitoring has been stopped\n")); |