[evolution-data-server] Fix few memory leaks



commit c216395a624e94c612c8fce64e26723ac93d700a
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jun 6 14:56:41 2017 +0200

    Fix few memory leaks

 .../backends/webdav/e-book-backend-webdav.c        |    3 +++
 .../backends/caldav/e-cal-backend-caldav.c         |    3 +++
 src/libedataserver/e-xml-utils.c                   |    4 ++++
 3 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/src/addressbook/backends/webdav/e-book-backend-webdav.c 
b/src/addressbook/backends/webdav/e-book-backend-webdav.c
index f02eb93..79593f2 100644
--- a/src/addressbook/backends/webdav/e-book-backend-webdav.c
+++ b/src/addressbook/backends/webdav/e-book-backend-webdav.c
@@ -215,13 +215,16 @@ ebb_webdav_connect_sync (EBookMetaBackend *meta_backend,
                if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_CANCELLED)) {
                        local_error->domain = G_IO_ERROR;
                        local_error->code = G_IO_ERROR_CANCELLED;
+                       g_propagate_error (error, local_error);
                } else if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_FORBIDDEN) && 
credentials_empty) {
                        *out_auth_result = E_SOURCE_AUTHENTICATION_REQUIRED;
+                       g_clear_error (&local_error);
                } else if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_UNAUTHORIZED)) {
                        if (credentials_empty)
                                *out_auth_result = E_SOURCE_AUTHENTICATION_REQUIRED;
                        else
                                *out_auth_result = E_SOURCE_AUTHENTICATION_REJECTED;
+                       g_clear_error (&local_error);
                } else if (local_error) {
                        g_propagate_error (error, local_error);
                        local_error = NULL;
diff --git a/src/calendar/backends/caldav/e-cal-backend-caldav.c 
b/src/calendar/backends/caldav/e-cal-backend-caldav.c
index 3300542..0421143 100644
--- a/src/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/src/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -183,13 +183,16 @@ ecb_caldav_connect_sync (ECalMetaBackend *meta_backend,
                if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_CANCELLED)) {
                        local_error->domain = G_IO_ERROR;
                        local_error->code = G_IO_ERROR_CANCELLED;
+                       g_propagate_error (error, local_error);
                } else if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_FORBIDDEN) && 
credentials_empty) {
                        *out_auth_result = E_SOURCE_AUTHENTICATION_REQUIRED;
+                       g_clear_error (&local_error);
                } else if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_UNAUTHORIZED)) {
                        if (credentials_empty)
                                *out_auth_result = E_SOURCE_AUTHENTICATION_REQUIRED;
                        else
                                *out_auth_result = E_SOURCE_AUTHENTICATION_REJECTED;
+                       g_clear_error (&local_error);
                } else if (local_error) {
                        g_propagate_error (error, local_error);
                        local_error = NULL;
diff --git a/src/libedataserver/e-xml-utils.c b/src/libedataserver/e-xml-utils.c
index 9aa5b5f..c36b74b 100644
--- a/src/libedataserver/e-xml-utils.c
+++ b/src/libedataserver/e-xml-utils.c
@@ -392,6 +392,8 @@ e_xml_xpath_eval_as_string (xmlXPathContext *xpath_ctx,
        }
 
        object = e_xml_xpath_eval (xpath_ctx, "%s", expr);
+       g_free (expr);
+
        if (!object)
                return NULL;
 
@@ -435,6 +437,8 @@ e_xml_xpath_eval_exists (xmlXPathContext *xpath_ctx,
        va_end (va);
 
        object = e_xml_xpath_eval (xpath_ctx, "%s", expr);
+       g_free (expr);
+
        if (!object)
                return FALSE;
 


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