|
|
f6cd17 |
From 1b025f7c670eeafb835858558db356917e150a36 Mon Sep 17 00:00:00 2001
|
|
|
f6cd17 |
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
|
|
|
f6cd17 |
Date: Mon, 6 Aug 2018 16:59:37 +0100
|
|
|
f6cd17 |
Subject: [PATCH] Add missing free'ing of virTypedParameters
|
|
|
f6cd17 |
MIME-Version: 1.0
|
|
|
f6cd17 |
Content-Type: text/plain; charset=UTF-8
|
|
|
f6cd17 |
Content-Transfer-Encoding: 8bit
|
|
|
f6cd17 |
|
|
|
f6cd17 |
Safefree() must be used to free any virTypedParameter arrays previously
|
|
|
f6cd17 |
allocated with Newx().
|
|
|
f6cd17 |
|
|
|
f6cd17 |
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
|
f6cd17 |
(cherry picked from commit 440fde1cb81595c9f5eab7b03c240ca88e998961)
|
|
|
f6cd17 |
---
|
|
|
f6cd17 |
lib/Sys/Virt.xs | 36 +++++++++++++++++++++++++++---------
|
|
|
f6cd17 |
1 file changed, 27 insertions(+), 9 deletions(-)
|
|
|
f6cd17 |
|
|
|
f6cd17 |
diff --git a/lib/Sys/Virt.xs b/lib/Sys/Virt.xs
|
|
|
f6cd17 |
index a013915..3d8eb9b 100644
|
|
|
f6cd17 |
--- a/lib/Sys/Virt.xs
|
|
|
f6cd17 |
+++ b/lib/Sys/Virt.xs
|
|
|
f6cd17 |
@@ -2683,8 +2683,10 @@ set_node_memory_parameters(conn, newparams, flags=0)
|
|
|
f6cd17 |
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
- if (virNodeSetMemoryParameters(conn, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virNodeSetMemoryParameters(conn, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
@@ -4566,7 +4568,7 @@ get_job_stats(dom, flags=0)
|
|
|
f6cd17 |
|
|
|
f6cd17 |
typeSv = newSViv(type);
|
|
|
f6cd17 |
paramsHv = vir_typed_param_to_hv(params, nparams);
|
|
|
f6cd17 |
- Safefree(params);
|
|
|
f6cd17 |
+ free(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
EXTEND(SP, 2);
|
|
|
f6cd17 |
PUSHs(newRV_noinc((SV*)typeSv));
|
|
|
f6cd17 |
@@ -4775,11 +4777,15 @@ set_scheduler_parameters(dom, newparams, flags=0)
|
|
|
f6cd17 |
}
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
if (flags) {
|
|
|
f6cd17 |
- if (virDomainSetSchedulerParametersFlags(dom, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetSchedulerParametersFlags(dom, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
} else {
|
|
|
f6cd17 |
- if (virDomainSetSchedulerParameters(dom, params, nparams) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetSchedulerParameters(dom, params, nparams) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
}
|
|
|
f6cd17 |
Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
@@ -4831,8 +4837,10 @@ set_memory_parameters(dom, newparams, flags=0)
|
|
|
f6cd17 |
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
- if (virDomainSetMemoryParameters(dom, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetMemoryParameters(dom, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
@@ -4883,8 +4891,10 @@ set_numa_parameters(dom, newparams, flags=0)
|
|
|
f6cd17 |
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
- if (virDomainSetNumaParameters(dom, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetNumaParameters(dom, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
@@ -4936,8 +4946,10 @@ set_blkio_parameters(dom, newparams, flags=0)
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
if (virDomainSetBlkioParameters(dom, params, nparams,
|
|
|
f6cd17 |
- flags) < 0)
|
|
|
f6cd17 |
+ flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
@@ -5658,8 +5670,11 @@ set_block_iotune(dom, disk, newparams, flags=0)
|
|
|
f6cd17 |
}
|
|
|
f6cd17 |
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
- if (virDomainSetBlockIoTune(dom, disk, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetBlockIoTune(dom, disk, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
HV *
|
|
|
f6cd17 |
@@ -5709,8 +5724,11 @@ set_interface_parameters(dom, intf, newparams, flags=0)
|
|
|
f6cd17 |
}
|
|
|
f6cd17 |
|
|
|
f6cd17 |
nparams = vir_typed_param_from_hv(newparams, params, nparams);
|
|
|
f6cd17 |
- if (virDomainSetInterfaceParameters(dom, intf, params, nparams, flags) < 0)
|
|
|
f6cd17 |
+ if (virDomainSetInterfaceParameters(dom, intf, params, nparams, flags) < 0) {
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
_croak_error();
|
|
|
f6cd17 |
+ }
|
|
|
f6cd17 |
+ Safefree(params);
|
|
|
f6cd17 |
|
|
|
f6cd17 |
|
|
|
f6cd17 |
HV *
|