aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-utils.c
diff options
context:
space:
mode:
authorJules Colding <jcolding@src.gnome.org>2007-05-29 17:06:58 +0800
committerJules Colding <jcolding@src.gnome.org>2007-05-29 17:06:58 +0800
commit1118857d92056b587950ea62feec07c4dde63e42 (patch)
tree0533f108b4291e46a7faf91c7df578d1f49c1ace /mail/em-utils.c
parentd867b114fa56ed518b41bcdf2e6affe980e0ae10 (diff)
downloadgsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar.gz
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar.bz2
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar.lz
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar.xz
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.tar.zst
gsoc2013-evolution-1118857d92056b587950ea62feec07c4dde63e42.zip
Fix file descriptor leaks
svn path=/trunk/; revision=33598
Diffstat (limited to 'mail/em-utils.c')
-rw-r--r--mail/em-utils.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c
index ab958efc12..e4d53ba12b 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1115,7 +1115,9 @@ em_utils_selection_set_urilist(GtkSelectionData *data, CamelFolder *folder, GPtr
}
camel_object_unref(fstream);
- }
+ } else
+ close(fd);
+
g_free(uri);
}
@@ -1154,8 +1156,11 @@ em_utils_selection_get_urilist(GtkSelectionData *data, CamelFolder *folder)
if (strcmp(url->protocol, "file") == 0
&& (fd = g_open(url->path, O_RDONLY | O_BINARY, 0)) != -1) {
stream = camel_stream_fs_new_with_fd(fd);
- res = em_utils_read_messages_from_stream(folder, stream);
- camel_object_unref(stream);
+ if (stream) {
+ res = em_utils_read_messages_from_stream(folder, stream);
+ camel_object_unref(stream);
+ } else
+ close(fd);
}
camel_url_free(url);
}