|
|
60de42 |
From 60ed0b06e9c5d23441df6c0dde52ba700d30db07 Mon Sep 17 00:00:00 2001
|
|
|
60de42 |
From: Ken Gaillot <kgaillot@redhat.com>
|
|
|
60de42 |
Date: Thu, 23 Mar 2017 14:18:15 -0500
|
|
|
60de42 |
Subject: [PATCH] Low: tools: crm_resource should free result if re-running
|
|
|
60de42 |
function returns one
|
|
|
60de42 |
|
|
|
60de42 |
Not an issue in practice, but makes static analysis happy
|
|
|
60de42 |
---
|
|
|
60de42 |
tools/crm_resource_runtime.c | 22 ++++++++++++++--------
|
|
|
60de42 |
1 file changed, 14 insertions(+), 8 deletions(-)
|
|
|
60de42 |
|
|
|
60de42 |
diff --git a/tools/crm_resource_runtime.c b/tools/crm_resource_runtime.c
|
|
|
60de42 |
index af96909..41f4fc5 100644
|
|
|
60de42 |
--- a/tools/crm_resource_runtime.c
|
|
|
60de42 |
+++ b/tools/crm_resource_runtime.c
|
|
|
60de42 |
@@ -1523,12 +1523,24 @@ cli_resource_execute(const char *rsc_id, const char *rsc_action, GHashTable *ove
|
|
|
60de42 |
g_hash_table_insert(params, strdup(XML_ATTR_CRM_VERSION), strdup(CRM_FEATURE_SET));
|
|
|
60de42 |
|
|
|
60de42 |
op = resources_action_create(rsc->id, rclass, rprov, rtype, action, 0, -1, params, 0);
|
|
|
60de42 |
+ if (op == NULL) {
|
|
|
60de42 |
+ /* Re-run with stderr enabled so we can display a sane error message */
|
|
|
60de42 |
+ crm_enable_stderr(TRUE);
|
|
|
60de42 |
+ op = resources_action_create(rsc->id, rclass, rprov, rtype, action, 0,
|
|
|
60de42 |
+ -1, params, 0);
|
|
|
60de42 |
+
|
|
|
60de42 |
+ /* We know op will be NULL, but this makes static analysis happy */
|
|
|
60de42 |
+ services_action_free(op);
|
|
|
60de42 |
+
|
|
|
60de42 |
+ return crm_exit(EINVAL);
|
|
|
60de42 |
+ }
|
|
|
60de42 |
+
|
|
|
60de42 |
|
|
|
60de42 |
if(do_trace) {
|
|
|
60de42 |
setenv("OCF_TRACE_RA", "1", 1);
|
|
|
60de42 |
}
|
|
|
60de42 |
|
|
|
60de42 |
- if(op && override_hash) {
|
|
|
60de42 |
+ if (override_hash) {
|
|
|
60de42 |
GHashTableIter iter;
|
|
|
60de42 |
char *name = NULL;
|
|
|
60de42 |
char *value = NULL;
|
|
|
60de42 |
@@ -1541,13 +1553,7 @@ cli_resource_execute(const char *rsc_id, const char *rsc_action, GHashTable *ove
|
|
|
60de42 |
}
|
|
|
60de42 |
}
|
|
|
60de42 |
|
|
|
60de42 |
- if(op == NULL) {
|
|
|
60de42 |
- /* Re-run but with stderr enabled so we can display a sane error message */
|
|
|
60de42 |
- crm_enable_stderr(TRUE);
|
|
|
60de42 |
- resources_action_create(rsc->id, rclass, rprov, rtype, action, 0, -1, params, 0);
|
|
|
60de42 |
- return crm_exit(EINVAL);
|
|
|
60de42 |
-
|
|
|
60de42 |
- } else if (services_action_sync(op)) {
|
|
|
60de42 |
+ if (services_action_sync(op)) {
|
|
|
60de42 |
int more, lpc, last;
|
|
|
60de42 |
char *local_copy = NULL;
|
|
|
60de42 |
|
|
|
60de42 |
--
|
|
|
60de42 |
1.8.3.1
|
|
|
60de42 |
|