From 6aff3f209198e950e4eceb5f9c3b1bf49212ac4b Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 24 Nov 2010 11:49:40 +0000 Subject: [PATCH] Fix memory leaks in audit & VirtualBox code * src/util/virtaudit.c: Free audit string * src/vbox/vbox_XPCOMCGlue.c: Free library name --- src/util/virtaudit.c | 6 +++++- src/vbox/vbox_XPCOMCGlue.c | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/util/virtaudit.c b/src/util/virtaudit.c index b630fcec1a..33be4d9676 100644 --- a/src/util/virtaudit.c +++ b/src/util/virtaudit.c @@ -32,6 +32,7 @@ #include "virtaudit.h" #include "util.h" #include "files.h" +#include "memory.h" /* Provide the macros in case the header file is old. FIXME: should be removed. */ @@ -110,8 +111,10 @@ void virAuditSend(const char *file ATTRIBUTE_UNUSED, const char *func, } #if HAVE_AUDIT - if (auditfd < 0) + if (auditfd < 0) { + VIR_FREE(str); return; + } if (str) { static const int record_types[] = { @@ -128,6 +131,7 @@ void virAuditSend(const char *file ATTRIBUTE_UNUSED, const char *func, VIR_WARN("Failed to send audit message %s: %s", NULLSTR(str), virStrerror(errno, ebuf, sizeof ebuf)); } + VIR_FREE(str); } #endif } diff --git a/src/vbox/vbox_XPCOMCGlue.c b/src/vbox/vbox_XPCOMCGlue.c index 15a9622d95..d73e799c7b 100644 --- a/src/vbox/vbox_XPCOMCGlue.c +++ b/src/vbox/vbox_XPCOMCGlue.c @@ -98,6 +98,7 @@ static int tryLoadOne(const char *dir, bool setAppHome, bool ignoreMissing) VIR_ERROR(_("Libaray '%s' doesn't exist"), name); } + VIR_FREE(name); return -1; } } else {