[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] Fix memory leak in __virExec



Commit e0d014f2379dd made binary potentially allocated on the heap.
It was freed in the parent in the error path, but not in the success path
that doesn't goto the cleanup label.

Found by 'make -C tests valgrind'.
---
 src/util/util.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/util/util.c b/src/util/util.c
index c337aa9..37472bb 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -568,6 +568,10 @@ __virExec(const char *const*argv,
         }
 
         *retpid = pid;
+
+        if (binary != argv[0])
+            VIR_FREE(binary);
+
         return 0;
     }
 
-- 
1.7.0.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]