[libvirt] [PATCH 16/3] util: plug memory leak

Eric Blake eblake at redhat.com
Tue Aug 2 22:27:13 UTC 2011


Leak detected by Coverity; only possible on unlikely ptsname_r
failure.  Additionally, the man page for ptsname_r states that
failure is merely non-zero, not necessarily -1.

* src/util/util.c (virFileOpenTtyAt): Avoid leak on ptsname_r
failure.
---
 src/util/util.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/util/util.c b/src/util/util.c
index 03a9e1a..2e2a6a0 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -1126,8 +1126,10 @@ int virFileOpenTtyAt(const char *ptmx,
             goto cleanup;
         }

-        if (ptsname_r(*ttymaster, *ttyName, PATH_MAX) < 0)
+        if (ptsname_r(*ttymaster, *ttyName, PATH_MAX) != 0) {
+            VIR_FREE(*ttyName);
             goto cleanup;
+        }
     }

     rc = 0;
-- 
1.7.4.4




More information about the libvir-list mailing list