[evolution] Fix few memory leaks



commit 1ba62855e3b1e9cb59e068e5d3dbeae9652194cf
Author: Milan Crha <mcrha redhat com>
Date:   Fri Jan 27 12:05:09 2017 +0100

    Fix few memory leaks

 src/e-util/e-name-selector-entry.c |    1 -
 src/e-util/e-web-view.c            |    3 +++
 src/plugins/bbdb/bbdb.c            |    5 ++++-
 3 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/src/e-util/e-name-selector-entry.c b/src/e-util/e-name-selector-entry.c
index bb40f68..0d3b824 100644
--- a/src/e-util/e-name-selector-entry.c
+++ b/src/e-util/e-name-selector-entry.c
@@ -415,7 +415,6 @@ describe_contact (EContact *contact)
        g_string_append (description, str ? str : "");
        g_string_append (description, "\n");
 
-       emails = e_contact_get (contact, E_CONTACT_EMAIL);
        emails = g_list_sort (emails, (GCompareFunc) g_ascii_strcasecmp);
        for (link = emails; link; link = g_list_next (link)) {
                str = link->data;
diff --git a/src/e-util/e-web-view.c b/src/e-util/e-web-view.c
index 1601533..2c3e1a4 100644
--- a/src/e-util/e-web-view.c
+++ b/src/e-util/e-web-view.c
@@ -1060,6 +1060,7 @@ web_view_uri_request_done_cb (GObject *source_object,
        if (!e_content_request_process_finish (E_CONTENT_REQUEST (source_object),
                result, &stream, &stream_length, &mime_type, &error)) {
                webkit_uri_scheme_request_finish_error (request, error);
+               g_clear_error (&error);
        } else {
                webkit_uri_scheme_request_finish (request, stream, stream_length, mime_type);
 
@@ -1103,6 +1104,8 @@ web_view_process_uri_request_cb (WebKitURISchemeRequest *request,
                        error = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Cancelled");
 
                        webkit_uri_scheme_request_finish_error (request, error);
+                       g_clear_error (&error);
+
                        return;
                }
        }
diff --git a/src/plugins/bbdb/bbdb.c b/src/plugins/bbdb/bbdb.c
index 0b26fca..a843183 100644
--- a/src/plugins/bbdb/bbdb.c
+++ b/src/plugins/bbdb/bbdb.c
@@ -532,8 +532,11 @@ add_email_to_contact (EContact *contact,
        GList *emails;
 
        emails = e_contact_get (contact, E_CONTACT_EMAIL);
-       emails = g_list_append (emails, (gpointer) email);
+       emails = g_list_append (emails, g_strdup (email));
+
        e_contact_set (contact, E_CONTACT_EMAIL, (gpointer) emails);
+
+       g_list_free_full (emails, g_free);
 }
 
 /* Code to implement the configuration user interface follows */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]