summaryrefslogtreecommitdiff
path: root/dev-util/re2c
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
commit38423c67c8a23f6a1bc42038193182e2da3116eb (patch)
tree04e2cf4bd43601b77daa79fe654e409187093c5e /dev-util/re2c
parent623ee73d661e5ed8475cb264511f683407d87365 (diff)
gentoo resync : 25.04.2020
Diffstat (limited to 'dev-util/re2c')
-rw-r--r--dev-util/re2c/Manifest2
-rw-r--r--dev-util/re2c/files/re2c-1.3-lexer-overflow.patch40
-rw-r--r--dev-util/re2c/re2c-1.3-r1.ebuild28
3 files changed, 70 insertions, 0 deletions
diff --git a/dev-util/re2c/Manifest b/dev-util/re2c/Manifest
index 47707d11d93a..2f76dc6aa1f5 100644
--- a/dev-util/re2c/Manifest
+++ b/dev-util/re2c/Manifest
@@ -1,3 +1,5 @@
+AUX re2c-1.3-lexer-overflow.patch 1244 BLAKE2B d9f51ea520ca437f4a1cb9c9f788d0c5c76d48358ee2c9d8a821c40c53d7df8e34f97cfda0ccd17e4220600043349afb9d737a2444d58ece8d381f1d30807855 SHA512 19a9011c58107c136ef49a51a712125274f841f884ca76c5f2e25464b24c3a6477ff45752df20c5f508e21a2a55c7f4ce19bc6c7d9b7baecc07fced76ce87de1
DIST re2c-1.3.tar.xz 1239280 BLAKE2B ae2a8fc323408dd31d39c352bd622d89d19178b7993618ea043bbfd32509fb7573d2b5b50663e100d24fc275fa479982cb1f66ed49638edca61f551fb653176d SHA512 c7084ab2399fb6b96cef74c1393715d90830f43b82b96af46feb71ef008c0215381c3dbea0b003ff810d869db6021e28001b9d588ad55c616642244b2da09c0e
+EBUILD re2c-1.3-r1.ebuild 772 BLAKE2B 9a1c3ec7e9b1ab137802f9e95003820792cf7da85eca0d9ab46f30afd7d2883ca15ef070691d4364b151247295fea16e702d01fb1209e1346787613491e44a3e SHA512 0e26075418517031ee56bc22909db4968e1c15c1fb8417a510cd43803257c5363ef6c574b3ee9dd34cc6985bd294e0202a6de4164ecc90e080015a3eb1180755
EBUILD re2c-1.3.ebuild 721 BLAKE2B a49a44e123efbbd05d63cb17a17ded1e683aba03e07e6068baff354a84cc16aa1af298af8b85465be3e4d8eb39218b81bb147573924f1351e797066e3c2fabba SHA512 cb4c0b2af7fab1a2e2341b34241546b203128519df58eebec594ada3e3152689d0662e2c2de77561f40a60ec0de579bd89e90e6598a801e74811ed670084da08
MISC metadata.xml 423 BLAKE2B 69ad12e8bd8cd2356e36736ab276efa0aadc2755f784fa4e7fe23ae4d4e7a27a06c8fcd4ee727f87847a7fdaf136d12e811a20345183d261d2b649724818f9f3 SHA512 997590e1de3136f7f87181746d9dccfd8c34a12e570d15a29a8abd4b4163bfa98405d928e932255c962d4af79e9913de563453891155590bff309d764c2b5bd9
diff --git a/dev-util/re2c/files/re2c-1.3-lexer-overflow.patch b/dev-util/re2c/files/re2c-1.3-lexer-overflow.patch
new file mode 100644
index 000000000000..4222ef430c32
--- /dev/null
+++ b/dev-util/re2c/files/re2c-1.3-lexer-overflow.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/718350
+
+From c4603ba5ce229db83a2a4fb93e6d4b4e3ec3776a Mon Sep 17 00:00:00 2001
+From: Ulya Trofimovich <skvadrik@gmail.com>
+Date: Fri, 17 Apr 2020 22:47:14 +0100
+Subject: [PATCH] Fix crash in lexer refill (reported by Agostino Sarubbo).
+
+The crash happened in a rare case of a very long lexeme that doen't fit
+into the buffer, forcing buffer reallocation.
+
+The crash was caused by an incorrect calculation of the shift offset
+(it was smaller than necessary). As a consequence, the data from buffer
+start and up to the beginning of the current lexeme was not discarded
+(as it should have been), resulting in less free space for new data than
+expected.
+---
+ src/parse/scanner.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/src/parse/scanner.cc
++++ b/src/parse/scanner.cc
+@@ -155,13 +155,14 @@ bool Scanner::fill(size_t need)
+ if (!buf) fatal("out of memory");
+
+ memmove(buf, tok, copy);
+- shift_ptrs_and_fpos(buf - bot);
++ shift_ptrs_and_fpos(buf - tok);
+ delete [] bot;
+ bot = buf;
+
+ free = BSIZE - copy;
+ }
+
++ DASSERT(lim + free <= bot + BSIZE);
+ if (!read(free)) {
+ eof = lim;
+ memset(lim, 0, YYMAXFILL);
+--
+2.26.1
+
diff --git a/dev-util/re2c/re2c-1.3-r1.ebuild b/dev-util/re2c/re2c-1.3-r1.ebuild
new file mode 100644
index 000000000000..d90e052b5214
--- /dev/null
+++ b/dev-util/re2c/re2c-1.3-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="tool for generating C-based recognizers from regular expressions"
+HOMEPAGE="http://re2c.org/"
+SRC_URI="https://github.com/skvadrik/re2c/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="debug"
+
+PATCHES=("${FILESDIR}"/${P}-lexer-overflow.patch)
+
+src_configure() {
+ econf \
+ ac_cv_path_BISON="no" \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r README.md CHANGELOG examples
+}