summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-02-04 14:50:26 +0100
committerDavid Seifert <soap@gentoo.org>2017-02-04 14:52:41 +0100
commit6e7bb684c34f9fcc3a60ab0ea9435df2cd302614 (patch)
tree43548ab6962a2f421b1c3dddae1f824c3a4dd8da /app-doc
parentsys-kernel/gentoo-sources: Linux kernel 4.9.8 (diff)
downloadgentoo-6e7bb684c34f9fcc3a60ab0ea9435df2cd302614.tar.gz
gentoo-6e7bb684c34f9fcc3a60ab0ea9435df2cd302614.tar.bz2
gentoo-6e7bb684c34f9fcc3a60ab0ea9435df2cd302614.zip
app-doc/doxygen: Avoid dereferencing NULL pointer
Gentoo-bug: 607160 * Thank you to Jiri Netolicky for finding the upstream issue and the commit that fixed it. Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'app-doc')
-rw-r--r--app-doc/doxygen/doxygen-1.8.13-r1.ebuild (renamed from app-doc/doxygen/doxygen-1.8.13.ebuild)10
-rw-r--r--app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch24
2 files changed, 30 insertions, 4 deletions
diff --git a/app-doc/doxygen/doxygen-1.8.13.ebuild b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild
index ce44a9d456f0..8b0705893f88 100644
--- a/app-doc/doxygen/doxygen-1.8.13.ebuild
+++ b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild
@@ -55,6 +55,7 @@ RESTRICT="test"
PATCHES=(
"${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348
"${FILESDIR}/${PN}-1.8.12-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.8.13-NULL-dereference.patch"
)
DOCS=( LANGUAGE.HOWTO README.md )
@@ -64,7 +65,7 @@ pkg_setup() {
}
src_prepare() {
- default
+ cmake-utils_src_prepare
# Ensure we link to -liconv
if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
@@ -82,12 +83,13 @@ src_prepare() {
doc/maintainers.txt || die
if is-flagq "-O3" ; then
- echo
+ ewarn
ewarn "Compiling with -O3 is known to produce incorrectly"
ewarn "optimized code which breaks doxygen."
- echo
+ ewarn
+ elog
elog "Continuing with -O2 instead ..."
- echo
+ elog
replace-flags "-O3" "-O2"
fi
}
diff --git a/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch b/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch
new file mode 100644
index 000000000000..8d72e8ff6e0d
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch
@@ -0,0 +1,24 @@
+From 0f02761a158a5e9ddbd5801682482af8986dbc35 Mon Sep 17 00:00:00 2001
+From: albert-github <albert.tests@gmail.com>
+Date: Wed, 4 Jan 2017 12:24:55 +0100
+Subject: [PATCH] Bug 776791 - [1.8.13 Regression] Segfault building the
+ breathe docs
+
+Protected against NULL pointer of variable al
+---
+ src/xmlgen.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
+index fe95c7a..70e198a 100644
+--- a/src/xmlgen.cpp
++++ b/src/xmlgen.cpp
+@@ -620,7 +620,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
+ if (md->isInline()) t << "yes"; else t << "no";
+ t << "\"";
+
+- if (al->refQualifier!=RefQualifierNone)
++ if (al!=0 && al->refQualifier!=RefQualifierNone)
+ {
+ t << " refqual=\"";
+ if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue";