From 93cfba91bd50849a74e372cf66975fcaf31dfcba Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 1 Aug 2018 00:29:27 +0200 Subject: [PATCH] codegen: Free errors after returning them on the GDBusMethodInvocation Those are being leaked otherwise. Fixes https://gitlab.gnome.org/GNOME/vala/issues/657 --- codegen/valagdbusservermodule.vala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/codegen/valagdbusservermodule.vala b/codegen/valagdbusservermodule.vala index 3506bc655..e1984e24f 100644 --- a/codegen/valagdbusservermodule.vala +++ b/codegen/valagdbusservermodule.vala @@ -180,6 +180,10 @@ public class Vala.GDBusServerModule : GDBusClientModule { return_error.add_argument (new CCodeIdentifier ("error")); ccode.add_expression (return_error); + var free_error = new CCodeFunctionCall (new CCodeIdentifier ("g_error_free")); + free_error.add_argument (new CCodeIdentifier ("error")); + ccode.add_expression (free_error); + if (need_goto_label || requires_destroy (owned_type)) { ccode.add_goto ("_error"); need_goto_label = true; @@ -289,6 +293,10 @@ public class Vala.GDBusServerModule : GDBusClientModule { return_error.add_argument (new CCodeIdentifier ("error")); ccode.add_expression (return_error); + var free_error = new CCodeFunctionCall (new CCodeIdentifier ("g_error_free")); + free_error.add_argument (new CCodeIdentifier ("error")); + ccode.add_expression (free_error); + if (need_goto_label) { ccode.add_goto ("_error"); } else { -- 2.47.2