Blob Blame History Raw
From 1ff7d912fe329867a40c8e473cf0bde8d55202ef Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 1 Jul 2016 08:13:09 -0400
Subject: [PATCH] main: fix leak in log handler

---
 src/main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/main.c b/src/main.c
index 2f799e5..cc62e05 100644
--- a/src/main.c
+++ b/src/main.c
@@ -94,60 +94,62 @@ on_bus_acquired (GDBusConnection  *connection,
 static void
 on_name_lost (GDBusConnection  *connection,
               const gchar      *name,
               gpointer          user_data)
 {
         g_debug ("got NameLost, exiting");
         g_main_loop_quit (loop);
 }
 
 static gboolean debug;
 
 static void
 on_log_debug (const gchar *log_domain,
               GLogLevelFlags log_level,
               const gchar *message,
               gpointer user_data)
 {
         GString *string;
         const gchar *progname;
         int ret G_GNUC_UNUSED;
 
         string = g_string_new (NULL);
 
         progname = g_get_prgname ();
         g_string_append_printf (string, "(%s:%lu): %s%sDEBUG: %s\n",
                                 progname ? progname : "process", (gulong)getpid (),
                                 log_domain ? log_domain : "", log_domain ? "-" : "",
                                 message ? message : "(NULL) message");
 
         ret = write (1, string->str, string->len);
+
+        g_string_free (string, TRUE);
 }
 
 static void
 log_handler (const gchar   *domain,
              GLogLevelFlags level,
              const gchar   *message,
              gpointer       data)
 {
         /* filter out DEBUG messages if debug isn't set */
         if ((level & G_LOG_LEVEL_MASK) == G_LOG_LEVEL_DEBUG && !debug)
                 return;
 
         g_log_default_handler (domain, level, message, data);
 }
 
 static gboolean
 on_signal_quit (gpointer data)
 {
         g_main_loop_quit (data);
         return FALSE;
 }
 
 int
 main (int argc, char *argv[])
 {
         GError *error;
         gint ret;
         GBusNameOwnerFlags flags;
         GOptionContext *context;
         static gboolean replace;
-- 
2.7.4