dev-libs/oniguruma: fix heap buffer overflow
authorThomas Deutschmann <whissi@gentoo.org>
Thu, 26 Sep 2019 13:19:49 +0000 (15:19 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Thu, 26 Sep 2019 13:19:49 +0000 (15:19 +0200)
Link: https://bugs.php.net/bug.php?id=78559
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
dev-libs/oniguruma/files/oniguruma-6.9.3-fix-heap-buffer-overflow-php78559.patch [new file with mode: 0644]
dev-libs/oniguruma/oniguruma-6.9.3-r1.ebuild [new file with mode: 0644]

diff --git a/dev-libs/oniguruma/files/oniguruma-6.9.3-fix-heap-buffer-overflow-php78559.patch b/dev-libs/oniguruma/files/oniguruma-6.9.3-fix-heap-buffer-overflow-php78559.patch
new file mode 100644 (file)
index 0000000..7d53887
--- /dev/null
@@ -0,0 +1,13 @@
+https://bugs.php.net/bug.php?id=78559
+https://github.com/kkos/oniguruma/commit/d3e402928b6eb3327f8f7d59a9edfa622fec557b
+
+--- a/src/regexec.c
++++ b/src/regexec.c
+@@ -4196,6 +4196,7 @@ str_lower_case_match(OnigEncoding enc, int case_fold_flag,
+     lowlen = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &p, end, lowbuf);
+     q = lowbuf;
+     while (lowlen > 0) {
++      if (t >= tend)    return 0;
+       if (*t++ != *q++) return 0;
+       lowlen--;
+     }
diff --git a/dev-libs/oniguruma/oniguruma-6.9.3-r1.ebuild b/dev-libs/oniguruma/oniguruma-6.9.3-r1.ebuild
new file mode 100644 (file)
index 0000000..2b0d346
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 2003-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit multilib-minimal
+
+MY_P="onig-${PV}"
+
+DESCRIPTION="Regular expression library for different character encodings"
+HOMEPAGE="https://github.com/kkos/oniguruma"
+SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="crnl-as-line-terminator static-libs"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.9.3-fix-heap-buffer-overflow-php78559.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
+
+multilib_src_configure() {
+       ECONF_SOURCE="${S}" econf \
+               $(use_enable crnl-as-line-terminator) \
+               $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${D}" -name "*.la" -type f -delete || die
+}