On 03/17/2014 07:59 AM, Daniel P. Berrange wrote:
The ebiptablesAddRuleInst method would leak an instance
of ebiptablesRuleInstPtr if it hit OOM when adding it
to the list of instances. Remove the pointless helper
method virNWFilterRuleInstAddData and just inline the
call to VIR_APPEND_ELEMENT and free the instance on
failure.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/nwfilter/nwfilter_ebiptables_driver.c | 6 +++++-
src/nwfilter/nwfilter_gentech_driver.c | 22 ----------------------
src/nwfilter/nwfilter_gentech_driver.h | 3 ---
3 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c
b/src/nwfilter/nwfilter_ebiptables_driver.c
index 9dbd3ff..e1e0af8 100644
--- a/src/nwfilter/nwfilter_ebiptables_driver.c
+++ b/src/nwfilter/nwfilter_ebiptables_driver.c
@@ -505,7 +505,11 @@ ebiptablesAddRuleInst(virNWFilterRuleInstPtr res,
inst->priority = priority;
inst->ruleType = ruleType;
- return virNWFilterRuleInstAddData(res, inst);
+ if (VIR_APPEND_ELEMENT(res->data, res->ndata, inst) < 0) {
+ VIR_FREE(inst);
+ return -1;
+ }
+ return 0;
}
ACK