aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohnny Jacob <jjohnny@src.gnome.org>2009-04-13 18:34:42 +0800
committerJohnny Jacob <jjohnny@src.gnome.org>2009-04-13 18:34:42 +0800
commitca0ac59661d235398a2d5c9c05287b570e5ae939 (patch)
treee120811aad4dd8b52a01828a394f27f26ee173d0
parentcecdc505b1a32eef667cd375fb80e42e730b4a9b (diff)
downloadgsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar.gz
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar.bz2
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar.lz
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar.xz
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.tar.zst
gsoc2013-evolution-ca0ac59661d235398a2d5c9c05287b570e5ae939.zip
BGO : 578685 : Copy string. Avoids SIGSEGV.EVOLUTION_2_26_1
svn path=/trunk/; revision=37520
-rw-r--r--widgets/misc/ChangeLog8
-rw-r--r--widgets/misc/e-attachment-bar.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
index 2c3e6ef614..92d26c8333 100644
--- a/widgets/misc/ChangeLog
+++ b/widgets/misc/ChangeLog
@@ -1,3 +1,11 @@
+2009-04-13 Johnny Jacob <jjohnny@novell.com>
+
+ ** Fixes #578685 – evolution crashed with SIGSEGV.
+
+ ** Patch by Takao Fujiwara <Takao.Fujiwara@Sun.COM>
+
+ * e-attachment-bar.c (update): Copy string. Avoids SIGSEGV.
+
2009-03-09 Chenthill Palanisamy <pchenthill@novell.com>
* widgets/misc/e-calendar-item.c: Removed the string
diff --git a/widgets/misc/e-attachment-bar.c b/widgets/misc/e-attachment-bar.c
index de45861055..0210d21b46 100644
--- a/widgets/misc/e-attachment-bar.c
+++ b/widgets/misc/e-attachment-bar.c
@@ -442,6 +442,7 @@ update (EAttachmentBar *bar)
}
desc = camel_mime_part_get_description (attachment->body);
+
if (!desc || *desc == '\0') {
if (attachment->file_name) {
desc = g_filename_to_utf8 (attachment->file_name, -1, NULL, NULL, NULL);
@@ -450,6 +451,8 @@ update (EAttachmentBar *bar)
if (desc)
desc = g_strdup (desc);
}
+ } else {
+ desc = g_strdup (desc);
}
if (!desc)