If we get to the error: label and clear out the *virtual_functions[]
pointers and then return w/ error to the caller - the caller has it's
own cleanup of the same array in the out: label which is keyed off the
value of num_virt_fns, which wasn't reset to 0 in the called function
leading to a possible problem.
Just clear the value (found by Coverity)
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/util/virpci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 3f1252d..be35017 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -2573,6 +2573,7 @@ virPCIGetVirtualFunctions(const char *sysfs_path,
for (i = 0; i < *num_virtual_functions; i++)
VIR_FREE((*virtual_functions)[i]);
VIR_FREE(*virtual_functions);
+ *num_virtual_functions = 0;
goto cleanup;
}
--
2.5.5