summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2020-01-13 21:13:32 +1100
committerMartin Schwenke <martins@samba.org>2020-01-28 09:57:32 +0000
commitd79e2dcfc84d937db3c6eb3d17520aaf6e7bba4c (patch)
tree8d0bd3c288a960f2104d82e6d1bf5877c5eb5c40 /ctdb
parent0ad6a243b259d284064c0c5abcc7d430d55be7e1 (diff)
downloadsamba-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>
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/server/ctdb_monitor.c8
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"));