diff --git a/crmd/control.c b/crmd/control.c index 8989859..0332f10 100644 --- a/crmd/control.c +++ b/crmd/control.c @@ -951,7 +951,6 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void value = crmd_pref(config_hash, "stonith-watchdog-timeout"); } - value = crmd_pref(config_hash, "stonith-watchdog-timeout"); if(crm_get_msec(value) > 0 && !daemon_option_enabled(crm_system_name, "watchdog")) { do_crm_log_always(LOG_EMERG, "Shutting down pacemaker, no watchdog device configured"); crmd_exit(DAEMON_RESPAWN_STOP); diff --git a/crmd/lrm.c b/crmd/lrm.c index 44634fb..b68f657 100644 --- a/crmd/lrm.c +++ b/crmd/lrm.c @@ -1377,7 +1377,6 @@ do_lrm_invoke(long long action, } else if (safe_str_eq(operation, CRM_OP_REPROBE) || safe_str_eq(crm_op, CRM_OP_REPROBE)) { GHashTableIter gIter; rsc_history_t *entry = NULL; - gboolean unregister = is_remote_lrmd_ra(NULL, NULL, entry->id) ? FALSE : TRUE; crm_notice("Forcing the status of all resources to be redetected"); @@ -1386,6 +1385,8 @@ do_lrm_invoke(long long action, /* only unregister the resource during a reprobe if it is not a remote connection * resource. otherwise unregistering the connection will terminate remote-node * membership */ + gboolean unregister = is_remote_lrmd_ra(NULL, NULL, entry->id) ? FALSE : TRUE; + delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys, from_host, user_name, NULL, unregister); } diff --git a/lib/services/dbus.c b/lib/services/dbus.c index f4632f2..c0153b5 100644 --- a/lib/services/dbus.c +++ b/lib/services/dbus.c @@ -338,6 +338,11 @@ pcmk_dbus_get_property( CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID)); query_data = malloc(sizeof(struct db_getall_data)); + if(query_data == NULL) { + crm_err("Call to %s failed: malloc failed", method); + return NULL; + } + query_data->target = strdup(target); query_data->object = strdup(obj); query_data->callback = callback; @@ -355,10 +360,6 @@ pcmk_dbus_get_property( DBusMessage *reply = pcmk_dbus_send_recv(msg, connection, NULL); output = pcmk_dbus_lookup_result(reply, query_data); - free(query_data->target); - free(query_data->object); - free(query_data->name); - free(query_data); if(reply) { dbus_message_unref(reply); diff --git a/lib/services/services.c b/lib/services/services.c index 753e257..9936c72 100644 --- a/lib/services/services.c +++ b/lib/services/services.c @@ -506,12 +506,13 @@ services_action_sync(svc_action_t * op) { gboolean rc = TRUE; - op->synchronous = true; if (op == NULL) { crm_trace("No operation to execute"); return FALSE; + } - } else if (op->standard && strcasecmp(op->standard, "upstart") == 0) { + op->synchronous = true; + if (op->standard && strcasecmp(op->standard, "upstart") == 0) { #if SUPPORT_UPSTART rc = upstart_job_exec(op, TRUE); #endif