summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-06-30 17:08:41 -0600
committerEric Blake <eblake@redhat.com>2011-07-01 16:46:20 -0600
commite07e9a9456df21fb4717353b2c3475d4f6c56a05 (patch)
treed2805b1340873e2ede9a46f06967ec52e4fdb65a
parentbuild: avoid 'make syntax-check' failure (diff)
downloadlibvirt-e07e9a9456df21fb4717353b2c3475d4f6c56a05.tar.gz
libvirt-e07e9a9456df21fb4717353b2c3475d4f6c56a05.tar.bz2
libvirt-e07e9a9456df21fb4717353b2c3475d4f6c56a05.zip
libvirtd: avoid memory leak on OOM
Detected by Coverity; only strikes on OOM so not serious. * daemon/libvirtd.c (daemonPidFilePath): Plug leak.
-rw-r--r--daemon/libvirtd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 60ee705ce..06d2077bd 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -310,8 +310,10 @@ daemonPidFilePath(bool privileged,
if (!(userdir = virGetUserDirectory(geteuid())))
goto error;
- if (virAsprintf(pidfile, "%s/.libvirt/libvirtd.pid", userdir) < 0)
+ if (virAsprintf(pidfile, "%s/.libvirt/libvirtd.pid", userdir) < 0) {
+ VIR_FREE(userdir);
goto no_memory;
+ }
VIR_FREE(userdir);
}