[file-roller] Fix fr_application_command_line memory leak
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [file-roller] Fix fr_application_command_line memory leak
- Date: Sun, 13 Dec 2015 14:09:38 +0000 (UTC)
commit cf183f8d2df5c1dd607dbbf8e20376ea414aa51f
Author: David King <dking redhat com>
Date: Thu Jul 16 10:38:55 2015 +0100
Fix fr_application_command_line memory leak
Found with Valgrind:
==9376== 44 (32 direct, 12 indirect) bytes in 1 blocks are definitely
lost in loss record 8,792 of 17,916
==9376== at 0x4C2BC50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9376== by 0x748B689: g_malloc (gmem.c:97)
==9376== by 0x74BAC72: g_variant_dup_bytestring_array
(gvariant.c:1992)
==9376== by 0x6F108B9: g_application_command_line_get_arguments
(gapplicationcommandline.c:480)
==9376== by 0x41C146: fr_application_command_line
(fr-application.c:524)
==9376== by 0xC750D2F: ffi_call_unix64 (in
/usr/lib64/libffi.so.6.0.2)
==9376== by 0xC75079A: ffi_call (in /usr/lib64/libffi.so.6.0.2)
==9376== by 0x71FAB94: g_cclosure_marshal_generic_va
(gclosure.c:1594)
==9376== by 0x71FA0C3: _g_closure_invoke_va (gclosure.c:864)
==9376== by 0x7213DD8: g_signal_emit_valist (gsignal.c:3246)
==9376== by 0x72148F1: g_signal_emit (gsignal.c:3393)
==9376== by 0x6F0CF82: g_application_call_command_line
(gapplication.c:953)
==9376== by 0x6F0F55F: g_application_run (gapplication.c:2292)
==9376== by 0x414FE5: main (main.c:38)
https://bugzilla.gnome.org/show_bug.cgi?id=752476
src/fr-application.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/src/fr-application.c b/src/fr-application.c
index c54b615..b64d541 100644
--- a/src/fr-application.c
+++ b/src/fr-application.c
@@ -531,9 +531,11 @@ fr_application_command_line (GApplication *application,
g_critical ("Failed to parse arguments: %s", error->message);
g_error_free (error);
g_option_context_free (context);
+ g_strfreev (argv);
return fr_application_command_line_finished (application, EXIT_FAILURE);
}
+ g_strfreev (argv);
g_option_context_free (context);
if (remaining_args == NULL) { /* No archive specified. */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]