diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2013-12-03 14:55:29 -0500 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-12-03 19:39:52 -0500 |
commit | 3df0d7608cb03375ae8bf365807bb64844e30c7c (patch) | |
tree | 03ef7b4b79d698e2a018d145315a4b1d0ac95685 | |
parent | 34bf22eaa4bc74a692df449f4c544da0125f9245 (diff) | |
download | evolution-data-server-3df0d7608cb03375ae8bf365807bb64844e30c7c.tar.gz |
CamelPOP3Folder: Fix a potential g_object_unref(NULL) call
If all the branch conditions in this function evaluate to FALSE, the
stream is never set, and hence g_object_unref(NULL) is called on exiting
the function.
Found by scan-build.
https://bugzilla.gnome.org/719533
(cherry picked from commit 1161f3fbc1f6018fbc163b2f3078c5938f983c19)
-rw-r--r-- | camel/providers/pop3/camel-pop3-folder.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c index 93988aa9b..8f9b6c702 100644 --- a/camel/providers/pop3/camel-pop3-folder.c +++ b/camel/providers/pop3/camel-pop3-folder.c @@ -702,7 +702,7 @@ pop3_folder_get_message_sync (CamelFolder *folder, } message = camel_mime_message_new (); - if (!camel_data_wrapper_construct_from_stream_sync ( + if (stream != NULL && !camel_data_wrapper_construct_from_stream_sync ( CAMEL_DATA_WRAPPER (message), stream, cancellable, error)) { g_prefix_error (error, _("Cannot get message %s: "), uid); g_object_unref (message); @@ -712,7 +712,7 @@ pop3_folder_get_message_sync (CamelFolder *folder, camel_medium_add_header (CAMEL_MEDIUM (message), "X-Evolution-POP3-UID", uid); } done: - g_object_unref (stream); + g_clear_object (&stream); fail: g_clear_object (&pop3_cache); g_clear_object (&pop3_engine); |