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 678781 - memory leak in e-d-s backend
memory leak in e-d-s backend
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: e-d-s backend
git master
Other All
: Normal normal
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2012-06-25 11:12 UTC by Pavel Vasin
Modified: 2012-06-25 20:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Pavel Vasin 2012-06-25 11:12:16 UTC
In file backends/eds/lib/edsf-persona.vala
All values returned by E.Contact.get() leaks. 

For example,

var _full_name = (string?) this._get_property ("full_name");

compiles to

void* _tmp0_ = NULL;
gchar* _tmp1_;
_tmp0_ = _edsf_persona_get_property (self, "full_name");
_tmp1_ = g_strdup ((const gchar*) _tmp0_);

and _tmp0_ not freed.

Vala is new for me, so I'm not sure it's bug in folks or somewhere else.
owned cast seems don't work for strings...
Comment 1 Philip Withnall 2012-06-25 20:50:16 UTC
Thanks for the detailed bug report! This has been fixed in master (and thus will be in the 0.7.2 release), but can’t be backported to the 0.6.x series due to needing an EDS dependency bump.

commit 48b4c38494803023d6ad75a2724cf7ee6ad59a14
Author: Philip Withnall <philip@tecnocode.co.uk>
Date:   Mon Jun 25 21:47:55 2012 +0100

    eds: Fix memory leaks in EDS backend
    
    These were unavoidably caused by a problem with the EDS Vala bindings. This
    will be fixed in EDS 3.5.4, so our dependency has been bumped.
    
    Closes: https://bugzilla.gnome.org/show_bug.cgi?id=678781

 NEWS                               |    2 +
 backends/eds/lib/edsf-persona.vala |   50 +++++++++++++++++------------------
 configure.ac                       |    2 +-
 3 files changed, 27 insertions(+), 27 deletions(-)