diff options
Diffstat (limited to 'ctdb/server/eventscript.c')
-rw-r--r-- | ctdb/server/eventscript.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ctdb/server/eventscript.c b/ctdb/server/eventscript.c index a30ac3f961c..14cd190693e 100644 --- a/ctdb/server/eventscript.c +++ b/ctdb/server/eventscript.c @@ -151,6 +151,7 @@ int32_t ctdb_control_event_script_start(struct ctdb_context *ctdb, TDB_DATA inda script->next = monitoring_status->scripts; script->name = talloc_strdup(script, name); + CTDB_NO_MEMORY(ctdb, script->name); script->start = timeval_current(); monitoring_status->scripts = script; @@ -298,6 +299,7 @@ static int ctdb_event_script_v(struct ctdb_context *ctdb, const char *options) char *script; int count; int is_monitor = 0; + char *d_name_dup; if (!strcmp(options, "monitor")) { is_monitor = 1; @@ -409,7 +411,9 @@ static int ctdb_event_script_v(struct ctdb_context *ctdb, const char *options) /* store the event script in the tree */ - trbt_insert32(tree, (num<<16)|count++, talloc_strdup(tree, de->d_name)); + d_name_dup = talloc_strdup(tree, de->d_name); + CTDB_NO_MEMORY(ctdb, d_name_dup); + trbt_insert32(tree, (num<<16)|count++, d_name_dup); } closedir(dir); |