After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 313861 - leaking return value of gdk_atom_name en masse
leaking return value of gdk_atom_name en masse
Status: RESOLVED FIXED
Product: pygtk
Classification: Bindings
Component: gtk
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2005-08-18 17:32 UTC by Christian Persch
Modified: 2005-08-18 19:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Persch 2005-08-18 17:32:29 UTC
==15913== 2099 (386 direct, 1713 indirect) bytes in 18 blocks are definitely
lost in loss record 574 of 918
==15913==    at 0x1B90758B: malloc (vg_replace_malloc.c:130)
==15913==    by 0x1C8B9E7F: g_malloc (in /usr/lib/libglib-2.0.so.0.800.0)
==15913==    by 0x1C8CAE15: g_strdup (in /usr/lib/libglib-2.0.so.0.800.0)
==15913==    by 0x1C40258B: gdk_atom_name (gdkproperty-x11.c:394)
==15913==    by 0x1D2E0E5D: init_gtk (in
/usr/lib/python2.4/site-packages/gtk-2.0/gtk/_gtk.so)
==15913==    by 0x1C798F2F: _PyImport_LoadDynamicModule (importdl.c:53)


grepping for gdk_atom_name in pygtk , I see lots of
PyString_FromString(gdk_atom_name(...)) in gdk.override and gtk.override. Return
value of gdk_atom_name isn't freed in these cases.

pygtk 2.7.3.
Comment 1 John Finlay 2005-08-18 19:11:04 UTC
Fixed in CVS:
	* gtk/gtk.override (_wrap_gtk_selection_data_get_targets) 
	(_wrap_gtk_drag_dest_get_target_list) 
	(_wrap_gtk_drag_dest_set_target_list) 
	(clipboard_request_contents_cb) 
	(_wrap_gtk_clipboard_request_targets) 
	(_wrap_gtk_drag_source_set_target_list) 
	(_wrap_gtk_target_list_add_image_targets) 
	(_wrap_gtk_target_list_add_uri_targets) :
	* gtk/gdk.override (_wrap_gdk_event_tp_getattr) 
	(_wrap_gdk_gc_new_with_values, _wrap_gdk_property_get) 
	(_wrap_gdk_property_change): 
	* gtk/gtkmodule.c (add_atom): Fix memory leak with gdk_atom_name()
	Fixes #313861 (Christian Persch)