From f2fb783bb695153c9e8d22d52a461410c60ca428 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Fri, 29 Sep 2017 09:21:47 -0400 Subject: [PATCH] nwfilter: Fix memory leak and error path Found by Coverity. If virNWFilterHashTablePut, then the 3rd arg @val must be free'd since it would be leaked. This also fixes potential problem on the error path where the caller could assume the virNWFilterHashTablePut was successful when in fact it failed leading to other issues. --- src/nwfilter/nwfilter_gentech_driver.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter_gentech_driver.c index 20bfe3efe5..840d419bb4 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -525,9 +525,12 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter, } varAccess = virBufferContentAndReset(&buf); - virNWFilterHashTablePut(missing_vars, varAccess, - val); + rc = virNWFilterHashTablePut(missing_vars, varAccess, val); VIR_FREE(varAccess); + if (rc < 0) { + virNWFilterVarValueFree(val); + return -1; + } } } } else if (inc) {