From ba8459e8593f9170d08bac56558a28d06d74c2bd Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 3 Mar 2008 13:15:57 +0000 Subject: [PATCH] Plug remoteReadConfigFile leak. * qemud/qemud.c (remoteReadConfigFile): Be careful to free "conf" after a successful virConfReadFile. --- ChangeLog | 4 ++++ qemud/qemud.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 109683887d..a73c34b67c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ Mon Mar 3 14:14:03 CET 2008 Jim Meyering + Plug remoteReadConfigFile leak. + * qemud/qemud.c (remoteReadConfigFile): Be careful to free + "conf" after a successful virConfReadFile. + Plug two leaks: host.migrateTrans and arch.name * src/capabilities.c (virCapabilitiesFree): Free host.migrateTrans. (virCapabilitiesFreeGuest): Free arch.name member. diff --git a/qemud/qemud.c b/qemud/qemud.c index 9ce9edde81..851e83ed70 100644 --- a/qemud/qemud.c +++ b/qemud/qemud.c @@ -1877,7 +1877,7 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename) GET_CONF_STR (conf, filename, tcp_port); if (remoteConfigGetAuth(conf, "auth_unix_rw", &auth_unix_rw, filename) < 0) - return -1; + goto free_and_fail; #if HAVE_POLKIT /* Change default perms to be wide-open if PolicyKit is enabled. * Admin can always override in config file @@ -1886,11 +1886,11 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename) unix_sock_rw_mask = 0777; #endif if (remoteConfigGetAuth(conf, "auth_unix_ro", &auth_unix_ro, filename) < 0) - return -1; + goto free_and_fail; if (remoteConfigGetAuth(conf, "auth_tcp", &auth_tcp, filename) < 0) - return -1; + goto free_and_fail; if (remoteConfigGetAuth(conf, "auth_tls", &auth_tls, filename) < 0) - return -1; + goto free_and_fail; GET_CONF_STR (conf, filename, unix_sock_group); if (unix_sock_group) {