summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-06-26 15:32:57 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-06-26 15:32:57 +0000
commitcf579f38e9f59ec07e39d7413b7c879ec7a2cc97 (patch)
tree48cd0d8f3a4ca65757d9bcf0729969b513a966f0 /mail-client
parentForgot to unmask icecat too (diff)
downloadgentoo-2-cf579f38e9f59ec07e39d7413b7c879ec7a2cc97.tar.gz
gentoo-2-cf579f38e9f59ec07e39d7413b7c879ec7a2cc97.tar.bz2
gentoo-2-cf579f38e9f59ec07e39d7413b7c879ec7a2cc97.zip
Fix buffer overflow with GCC 4.5 and _U_FORTIFY_SOURCE=2 wrt #324863 by Harald van Dijk.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/thunderbird/ChangeLog7
-rw-r--r--mail-client/thunderbird/files/thunderbird-3.1-gcc45.patch37
-rw-r--r--mail-client/thunderbird/thunderbird-3.1.ebuild4
3 files changed, 46 insertions, 2 deletions
diff --git a/mail-client/thunderbird/ChangeLog b/mail-client/thunderbird/ChangeLog
index 92a8e48ae336..b1f7ee728ddc 100644
--- a/mail-client/thunderbird/ChangeLog
+++ b/mail-client/thunderbird/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for mail-client/thunderbird
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.10 2010/06/26 04:48:48 nirbheek Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.11 2010/06/26 15:32:57 ssuominen Exp $
+
+ 26 Jun 2010; Samuli Suominen <ssuominen@gentoo.org>
+ thunderbird-3.1.ebuild, +files/thunderbird-3.1-gcc45.patch:
+ Fix buffer overflow with GCC 4.5 and _U_FORTIFY_SOURCE=2 wrt #324863 by
+ Harald van Dijk.
*thunderbird-3.1 (26 Jun 2010)
diff --git a/mail-client/thunderbird/files/thunderbird-3.1-gcc45.patch b/mail-client/thunderbird/files/thunderbird-3.1-gcc45.patch
new file mode 100644
index 000000000000..0757854c04a9
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-3.1-gcc45.patch
@@ -0,0 +1,37 @@
+http://bugs.gentoo.org/324863
+
+Fix buffer overflow with GCC 4.5 and -U_FORTIFY_SOURCE=2
+
+Patch by Harald van Dijk
+
+--- comm-1.9.2/mozilla/extensions/spellcheck/hunspell/src/hashmgr.cpp
++++ comm-1.9.2/mozilla/extensions/spellcheck/hunspell/src/hashmgr.cpp
+@@ -187,7 +187,7 @@
+ struct hentry* hp =
+ (struct hentry *) malloc (sizeof(struct hentry) + wbl + descl);
+ if (!hp) return 1;
+- char * hpw = &(hp->word);
++ char * hpw = HENTRY_WORD(hp);
+ strcpy(hpw, word);
+ if (ignorechars != NULL) {
+ if (utf8) {
+--- comm-1.9.2/mozilla/extensions/spellcheck/hunspell/src/htypes.hxx
++++ comm-1.9.2/mozilla/extensions/spellcheck/hunspell/src/htypes.hxx
+@@ -57,6 +57,8 @@
+ #ifndef _HTYPES_HXX_
+ #define _HTYPES_HXX_
+
++#include <cstddef>
++
+ #define ROTATE_LEN 5
+
+ #define ROTATE(v,q) \
+@@ -68,7 +70,7 @@
+ #define H_OPT_PHON (1 << 2)
+
+ // see also csutil.hxx
+-#define HENTRY_WORD(h) &(h->word)
++#define HENTRY_WORD(h) ((char *) h + offsetof(struct hentry, word))
+
+ // approx. number of user defined words
+ #define USERWORD 1000
diff --git a/mail-client/thunderbird/thunderbird-3.1.ebuild b/mail-client/thunderbird/thunderbird-3.1.ebuild
index 40e0f334799a..52f196b5498a 100644
--- a/mail-client/thunderbird/thunderbird-3.1.ebuild
+++ b/mail-client/thunderbird/thunderbird-3.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-3.1.ebuild,v 1.1 2010/06/26 04:48:48 nirbheek Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-3.1.ebuild,v 1.2 2010/06/26 15:32:57 ssuominen Exp $
EAPI="3"
WANT_AUTOCONF="2.1"
@@ -120,6 +120,8 @@ src_prepare() {
# Fix broken media support
epatch "${FILESDIR}/${PN}-3.1-noalsa-fixup.patch"
+ epatch "${FILESDIR}"/${PN}-3.1-gcc45.patch
+
eautoreconf
cd mozilla