[Gaim-patches] [ gaim-Patches-1692248 ] plug gtkblist.c memory leaks and code cleanup

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Gaim-patches] [ gaim-Patches-1692248 ] plug gtkblist.c memory leaks and code cleanup

SourceForge.net
Patches item #1692248, was opened at 2007-04-01 02:56
Message generated for change (Comment added) made by gaul
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300235&aid=1692248&group_id=235

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Andrew Gaul (gaul)
Assigned to: Nobody/Anonymous (nobody)
Summary: plug gtkblist.c memory leaks and code cleanup

Initial Comment:
Plug two memory leaks found by Valgrind in gtkblist.c and clean up code a little.

==16170== 392 bytes in 7 blocks are definitely lost in loss record 130 of 210
==16170==    at 0x4005400: malloc (vg_replace_malloc.c:149)
==16170==    by 0x4D5019FF: (within /usr/lib/libXcursor.so.1.0.2)
==16170==    by 0x4D502205: (within /usr/lib/libXcursor.so.1.0.2)
==16170==    by 0x4D502C51: XcursorXcFileLoadImages (in /usr/lib/libXcursor.so.1
.0.2)
==16170==    by 0x4D502D6A: XcursorFileLoadImages (in /usr/lib/libXcursor.so.1.0
.2)
==16170==    by 0x4D503660: XcursorLibraryLoadImages (in /usr/lib/libXcursor.so.
1.0.2)
==16170==    by 0x4D5036DA: XcursorShapeLoadImages (in /usr/lib/libXcursor.so.1.
0.2)
==16170==    by 0x4D504012: XcursorTryShapeCursor (in /usr/lib/libXcursor.so.1.0
.2)
==16170==    by 0x4D2D1C21: XCreateGlyphCursor (in /usr/lib/libX11.so.6.2.0)
==16170==    by 0x4D2D20AC: XCreateFontCursor (in /usr/lib/libX11.so.6.2.0)
==16170==    by 0x421D9271: gdk_cursor_new_for_display (in /usr/lib/libgdk-x11-2
.0.so.0.1000.8)
==16170==    by 0x421B8A99: gdk_cursor_new (in /usr/lib/libgdk-x11-2.0.so.0.1000
.8)
==16170==    by 0x80CF05D: setup_icon_box (gtkstatusbox.c:345)
==16170==    by 0x4CD13E00: g_object_newv (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD147A7: g_object_new_valist (in /lib/libgobject-2.0.so.0.120
0.9)
==16170==    by 0x4CD148AF: g_object_new (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x80CB98A: gtk_gaim_status_box_new (gtkstatusbox.c:1814)
==16170==    by 0x8078A70: gaim_gtk_blist_show (gtkblist.c:4359)
==16170==    by 0x403F6CC: gaim_blist_show (blist.c:702)
==16170==    by 0x80AB951: main (gtkmain.c:763)

==16170== 35,008 (10,752 direct, 24,256 indirect) bytes in 42 blocks are definit
ely lost in loss record 198 of 210
==16170==    at 0x40054FB: realloc (vg_replace_malloc.c:306)
==16170==    by 0x49CF7E13: (within /usr/lib/libfontconfig.so.1.1.0)
==16170==    by 0x49CF87E3: (within /usr/lib/libfontconfig.so.1.1.0)
==16170==    by 0x49CF8CDB: (within /usr/lib/libfontconfig.so.1.1.0)
==16170==    by 0x49CF53F2: FcFontRenderPrepare (in /usr/lib/libfontconfig.so.1.
1.0)
==16170==    by 0x425E6CB8: (within /usr/lib/libpangoft2-1.0.so.0.1400.10)
==16170==    by 0x42622D8F: pango_font_map_load_fontset (in /usr/lib/libpango-1.
0.so.0.1400.10)
==16170==    by 0x425E6FC4: (within /usr/lib/libpangoft2-1.0.so.0.1400.10)
==16170==    by 0x42622E18: pango_font_map_load_font (in /usr/lib/libpango-1.0.s
o.0.1400.10)
==16170==    by 0x426212F8: pango_context_load_font (in /usr/lib/libpango-1.0.so
.0.1400.10)
==16170==    by 0x42626F55: pango_layout_line_get_extents (in /usr/lib/libpango-
1.0.so.0.1400.10)
==16170==    by 0x4262725E: (within /usr/lib/libpango-1.0.so.0.1400.10)
==16170==    by 0x42629DB4: (within /usr/lib/libpango-1.0.so.0.1400.10)
==16170==    by 0x42411EB2: gtk_text_layout_get_line_display (in /usr/lib/libgtk
-x11-2.0.so.0.1000.8)
==16170==    by 0x42415008: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x4241007E: gtk_text_layout_wrap (in /usr/lib/libgtk-x11-2.0.so.
0.1000.8)
==16170==    by 0x423F3F78: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x42413EEA: gtk_text_layout_validate_yrange (in /usr/lib/libgtk-
x11-2.0.so.0.1000.8)
==16170==    by 0x42420ADC: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x42420B7D: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x4236509C: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x4CD0D588: (within /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD0ED9A: g_closure_invoke (in /lib/libgobject-2.0.so.0.1200.9
)
==16170==    by 0x4CD1FA82: (within /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD20956: g_signal_emit_valist (in /lib/libgobject-2.0.so.0.12
00.9)
==16170==    by 0x4CD20B18: g_signal_emit (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x424807EE: gtk_widget_set_scroll_adjustments (in /usr/lib/libgt
k-x11-2.0.so.0.1000.8)
==16170==    by 0x423C0AB0: (within /usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16170==    by 0x4CD1B608: g_cclosure_marshal_VOID__OBJECT (in /lib/libgobject-
2.0.so.0.1200.9)
==16170==    by 0x4CD0D588: (within /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD0ED9A: g_closure_invoke (in /lib/libgobject-2.0.so.0.1200.9
)
==16170==    by 0x4CD1F8C9: (within /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD20956: g_signal_emit_valist (in /lib/libgobject-2.0.so.0.12
00.9)
==16170==    by 0x4CD20B18: g_signal_emit (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x422D1E7B: gtk_container_add (in /usr/lib/libgtk-x11-2.0.so.0.1
000.8)
==16170==    by 0x80D649A: gaim_gtk_create_imhtml (gtkutils.c:154)
==16170==    by 0x80CD1E0: gtk_gaim_status_box_init (gtkstatusbox.c:1601)
==16170==    by 0x4CD2E6FB: g_type_create_instance (in /lib/libgobject-2.0.so.0.
1200.9)
==16170==    by 0x4CD15F41: (within /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD13B9A: g_object_newv (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x4CD147A7: g_object_new_valist (in /lib/libgobject-2.0.so.0.120
0.9)
==16170==    by 0x4CD148AF: g_object_new (in /lib/libgobject-2.0.so.0.1200.9)
==16170==    by 0x80CB98A: gtk_gaim_status_box_new (gtkstatusbox.c:1814)
==16170==    by 0x8078A70: gaim_gtk_blist_show (gtkblist.c:4359)
==16170==    by 0x403F6CC: gaim_blist_show (blist.c:702)
==16170==    by 0x80AB951: main (gtkmain.c:763)

----------------------------------------------------------------------

>Comment By: Andrew Gaul (gaul)
Date: 2007-04-01 12:46

Message:
Logged In: YES
user_id=139865
Originator: YES

Pasted the same leak twice, here is the correct second leak:

==16165== 667 bytes in 45 blocks are definitely lost in loss record 185 of
267
==16165==    at 0x4005400: malloc (vg_replace_malloc.c:149)
==16165==    by 0x4CC98875: g_malloc (in /lib/libglib-2.0.so.0.1200.9)
==16165==    by 0x4CCABED8: g_strdup (in /lib/libglib-2.0.so.0.1200.9)
==16165==    by 0x8075E37: buddy_node (gtkblist.c:3288)
==16165==    by 0x80762AB: gaim_gtk_blist_update_contact
(gtkblist.c:4882)
==16165==    by 0x8076312: gaim_gtk_blist_update_buddy (gtkblist.c:4910)
==16165==    by 0x8076525: gaim_gtk_blist_update (gtkblist.c:4986)
==16165==    by 0x40778EF: gaim_presence_set_idle (status.c:1331)
==16165==    by 0x406C417: gaim_prpl_got_user_idle (prpl.c:98)
==16165==    by 0x45318FB: yahoo_update_status (yahoo.c:176)
==16165==    by 0x4531F6F: yahoo_process_status (yahoo.c:228)
==16165==    by 0x453758E: yahoo_packet_process (yahoo.c:1055)
==16165==    by 0x4538B06: yahoo_pending (yahoo.c:2333)
==16165==    by 0x80969C2: gaim_gtk_io_invoke (gtkeventloop.c:77)
==16165==    by 0x4CCBABAC: (within /lib/libglib-2.0.so.0.1200.9)
==16165==    by 0x4CC91441: g_main_context_dispatch (in
/lib/libglib-2.0.so.0.12
00.9)
==16165==    by 0x4CC9441E: (within /lib/libglib-2.0.so.0.1200.9)
==16165==    by 0x4CC947C8: g_main_loop_run (in
/lib/libglib-2.0.so.0.1200.9)
==16165==    by 0x423624B3: gtk_main (in
/usr/lib/libgtk-x11-2.0.so.0.1000.8)
==16165==    by 0x80ABA97: main (gtkmain.c:817)

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300235&aid=1692248&group_id=235

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gaim-patches mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gaim-patches