[virt-tools-list] [virt-viewer 2/3] Fix various memory leaks

Daniel P. Berrange berrange at redhat.com
Wed Jun 13 10:01:22 UTC 2012


On Wed, Jun 13, 2012 at 11:57:50AM +0200, Christophe Fergeau wrote:
> ==25063== 59 bytes in 1 blocks are definitely lost in loss record 5,163 of 9,502
> ==25063==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==25063==    by 0x3DE384D2BE: g_malloc (gmem.c:159)
> ==25063==    by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356)
> ==25063==    by 0x41F40A: connected (remote-viewer-main.c:186)
> ==25063==    by 0x3DE400F663: g_closure_invoke (gclosure.c:777)
> ==25063==    by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547)
> ==25063==    by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296)
> ==25063==    by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389)
> ==25063==    by 0x41AA53: reemit_signal_VOID (virt-viewer-session-ovirt.c:211)
> ==25063==    by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840)
> ==25063==    by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207)
> ==25063==    by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389)
> 
> ==25063== 14 bytes in 1 blocks are definitely lost in loss record 623 of 9,502
> ==25063==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==25063==    by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82)
> ==25063==    by 0x3DE3882F1A: g_vasprintf (stdio2.h:199)
> ==25063==    by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509)
> ==25063==    by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535)
> ==25063==    by 0x40CBAE: virt_viewer_app_update_pretty_address (virt-viewer-app.c:1538)
> ==25063==    by 0x40FB55: virt_viewer_app_free_connect_info (virt-viewer-app.c:1707)
> ==25063==    by 0x40FBE9: virt_viewer_app_dispose (virt-viewer-app.c:1291)
> ==25063==    by 0x3DE40144F7: g_object_unref (gobject.c:2981)
> ==25063==    by 0x40C31A: main (remote-viewer-main.c:336)
> 
> ==25063== 10 bytes in 1 blocks are definitely lost in loss record 491 of 9,502
> ==25063==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==25063==    by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82)
> ==25063==    by 0x3DE3882F1A: g_vasprintf (stdio2.h:199)
> ==25063==    by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509)
> ==25063==    by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535)
> ==25063==    by 0x40DE36: window_update_menu_displays_cb (virt-viewer-app.c:1640)
> ==25063==    by 0x3DE383833F: g_hash_table_foreach (ghash.c:1524)
> ==25063==    by 0x3DE400F663: g_closure_invoke (gclosure.c:777)
> ==25063==    by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547)
> ==25063==    by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296)
> ==25063==    by 0x3DE40287C1: g_signal_emit (gsignal.c:3352)
> ==25063==    by 0x5772F95: gtk_widget_show (gtkwidget.c:3225)
> 
> ==25063== 8,431 (72 direct, 8,359 indirect) bytes in 1 blocks are definitely lost in loss record 9,468 of 9,502
> ==25063==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==25063==    by 0x3DE384D2BE: g_malloc (gmem.c:159)
> ==25063==    by 0x3DE38616B1: g_slice_alloc (gslice.c:1003)
> ==25063==    by 0x3DE3861C05: g_slice_alloc0 (gslice.c:1029)
> ==25063==    by 0x3DE402F96F: g_type_create_instance (gtype.c:1872)
> ==25063==    by 0x3DE40147A7: g_object_constructor (gobject.c:1849)
> ==25063==    by 0x3DE4016260: g_object_newv (gobject.c:1632)
> ==25063==    by 0x3DE40168AB: g_object_new (gobject.c:1542)
> ==25063==    by 0x40C4BD: virt_viewer_util_load_ui (virt-viewer-util.c:41)
> ==25063==    by 0x40C7EB: virt_viewer_auth_collect_credentials (virt-viewer-auth.c:43)
> ==25063==    by 0x41B391: authenticate_cb (virt-viewer-session-ovirt.c:430)
> ==25063==    by 0x3458C05E8F: ffi_call_unix64 (unix64.S:75)
> 
> ==25063== 32 (16 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 3,962 of 9,502
> ==25063==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==25063==    by 0x3DE384D2BE: g_malloc (gmem.c:159)
> ==25063==    by 0x3DE38616B1: g_slice_alloc (gslice.c:1003)
> ==25063==    by 0x3DE38629F2: g_slist_append (gslist.c:222)
> ==25063==    by 0x41483C: virt_viewer_window_init (virt-viewer-window.c:323)
> ==25063==    by 0x3DE402FA05: g_type_create_instance (gtype.c:1892)
> ==25063==    by 0x3DE40147A7: g_object_constructor (gobject.c:1849)
> ==25063==    by 0x3DE4015D70: g_object_newv (gobject.c:1713)
> ==25063==    by 0x3DE401655F: g_object_new_valist (gobject.c:1830)
> ==25063==    by 0x3DE4016893: g_object_new (gobject.c:1545)
> ==25063==    by 0x40DA34: virt_viewer_app_window_new (virt-viewer-app.c:590)
> ==25063==    by 0x40E300: virt_viewer_app_constructor (virt-viewer-app.c:1336)
> 
> ==30355== 4 bytes in 1 blocks are definitely lost in loss record 53 of 9,267
> ==30355==    at 0x4A0884D: malloc (vg_replace_malloc.c:263)
> ==30355==    by 0x3DE384D2BE: g_malloc (gmem.c:159)
> ==30355==    by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356)
> ==30355==    by 0x3DE40360FC: value_copy_string (gvaluetypes.c:276)
> ==30355==    by 0x3DE40340CA: g_value_transform (gvalue.c:535)
> ==30355==    by 0x3FDAE621DD: gdk_screen_get_setting (gdkevents-x11.c:3022)
> ==30355==    by 0x3FDB3C7415: gtk_settings_get_property (gtksettings.c:1152)
> ==30355==    by 0x3DE4017A74: g_object_get_property (gobject.c:1289)
> ==30355==    by 0x414991: virt_viewer_window_disable_modifiers (virt-viewer-window.c:616)
> ==30355==    by 0x415922: virt_viewer_window_keyboard_grab (virt-viewer-window.c:931)
> ==30355==    by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840)
> ==30355==    by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207)
> ---
>  src/remote-viewer-main.c |    1 +
>  src/virt-viewer-app.c    |   14 +++++++++++++-
>  src/virt-viewer-auth.c   |    1 +
>  src/virt-viewer-window.c |   10 ++++++++++
>  4 files changed, 25 insertions(+), 1 deletion(-)

ACK

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the virt-tools-list mailing list