With the virGetGroupList() change in place - Coverity further complains
that if we fail to virFork(), the groups will be leaked - which aha seems
to be the case. Adjust the logic to save off the -errno, free the groups,
and then return the value we saved
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/util/virfile.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 7c506c9..b3b8be2 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -2000,8 +2000,11 @@ virFileOpenForked(const char *path, int openflags, mode_t mode,
}
pid = virFork();
- if (pid < 0)
- return -errno;
+ if (pid < 0) {
+ ret = -errno;
+ VIR_FREE(groups);
+ return ret;
+ }
if (pid == 0) {
--
1.9.3