flex: update to 2.6.4

Add a backport patch that addresses segfaults on newer glibc versions.

Remove:
CVE-2016-6354.patch (backport)
0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch (issue fixed upstream)
do_not_create_pdf_doc.patch (issue fixed upstream)

ptest pass rate is 100%.

(From OE-Core rev: a0fe05f3ffd67dc42e053c20bd019bb9d463d0ad)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2019-11-29 14:11:48 +01:00
committed by Richard Purdie
parent fb5037bbc5
commit e8543db1c6
6 changed files with 38 additions and 148 deletions

View File

@@ -0,0 +1,32 @@
From ed1f7e9de0d6a1d5a9e581e02a63593d22cf1e52 Mon Sep 17 00:00:00 2001
From: Explorer09 <explorer09@gmail.com>
Date: Mon, 4 Sep 2017 10:47:33 +0800
Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
This would, e.g. define _GNU_SOURCE in config.h, enabling the
reallocarray() prototype in glibc 2.26+ on Linux systems with that
version of glibc.
Fixes #241.
Upstream-Status: Backport
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 55e774b..c879fe1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,8 +25,10 @@
# autoconf requirements and initialization
AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex])
+AC_PREREQ([2.60])
AC_CONFIG_SRCDIR([src/scan.l])
AC_CONFIG_AUX_DIR([build-aux])
+AC_USE_SYSTEM_EXTENSIONS
LT_INIT
AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects])
AC_CONFIG_HEADER([src/config.h])

View File

@@ -1,64 +0,0 @@
From 7072befe1397af4eb01c3ff7edf99f0cd5076089 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 30 Aug 2016 14:25:32 +0200
Subject: [PATCH] avoid c++ comments in c-code - fails with gcc-6
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fixes:
| error: C++ style comments are not allowed in ISO C90
| num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
src/flex.skl | 2 +-
src/scan.c | 2 +-
src/skel.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/flex.skl b/src/flex.skl
index 73a0b9e..ed71627 100644
--- a/src/flex.skl
+++ b/src/flex.skl
@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
M4_YY_CALL_LAST_ARG);
diff --git a/src/scan.c b/src/scan.c
index b55df2d..f1dce75 100644
--- a/src/scan.c
+++ b/src/scan.c
@@ -4672,7 +4672,7 @@ static void yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways...*/
(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
diff --git a/src/skel.c b/src/skel.c
index ef657d3..26cc889 100644
--- a/src/skel.c
+++ b/src/skel.c
@@ -2561,7 +2561,7 @@ const char *skel[] = {
" * scanner will even need a stack. We use 2 instead of 1 to avoid an",
" * immediate realloc on the next call.",
" */",
- " num_to_alloc = 1; // After all that talk, this was set to 1 anyways...",
+ " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */",
" YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc",
" (num_to_alloc * sizeof(struct yy_buffer_state*)",
" M4_YY_CALL_LAST_ARG);",
--
2.5.5

View File

@@ -1,59 +0,0 @@
From 3939eccdff598f47e5b37b05d58bf1b44d3796e7 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Fri, 7 Oct 2016 14:15:38 +0300
Subject: [PATCH] Prevent buffer overflow in yy_get_next_buffer
This is upstream commit a5cbe929ac3255d371e698f62dc256afe7006466
with some additional backporting to make binutils build again.
Upstream-Status: Backport
CVE: CVE-2016-6354
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
src/flex.skl | 2 +-
src/scan.c | 2 +-
src/skel.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/flex.skl b/src/flex.skl
index ed71627..814d562 100644
--- a/src/flex.skl
+++ b/src/flex.skl
@@ -1718,7 +1718,7 @@ int yyFlexLexer::yy_get_next_buffer()
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
diff --git a/src/scan.c b/src/scan.c
index f1dce75..1949872 100644
--- a/src/scan.c
+++ b/src/scan.c
@@ -4181,7 +4181,7 @@ static int yy_get_next_buffer (void)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
diff --git a/src/skel.c b/src/skel.c
index 26cc889..0344d18 100644
--- a/src/skel.c
+++ b/src/skel.c
@@ -1929,7 +1929,7 @@ const char *skel[] = {
"",
" else",
" {",
- " yy_size_t num_to_read =",
+ " int num_to_read =",
" YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;",
"",
" while ( num_to_read <= 0 )",
--
2.1.4

View File

@@ -1,17 +0,0 @@
Upstream-Status: Inappropriate (embedded specific)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Index: flex-2.6.0/doc/Makefile.am
===================================================================
--- flex-2.6.0.orig/doc/Makefile.am
+++ flex-2.6.0/doc/Makefile.am
@@ -2,7 +2,7 @@ help2man = @HELP2MAN@
info_TEXINFOS = flex.texi
dist_man_MANS = flex.1
-dist_doc_DATA= flex.pdf
+EXTRA_DIST= flex.pdf
CLEANFILES = \
flex.aux \

View File

@@ -2,4 +2,4 @@
# make would want to rebuild some files with a compiler otherwise :-/
make FLEX=/usr/bin/flex -t check-TESTS || true
make FLEX=/usr/bin/flex check-TESTS
make FLEX=/usr/bin/flex abs_builddir=./ check-TESTS

View File

@@ -10,17 +10,15 @@ BBCLASSEXTEND = "native nativesdk"
LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.tar.gz \
file://run-ptest \
file://do_not_create_pdf_doc.patch \
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch \
file://CVE-2016-6354.patch \
${@bb.utils.contains('PTEST_ENABLED', '1', '', 'file://disable-tests.patch', d)} \
file://0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch \
"
SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59"
SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9"
SRC_URI[md5sum] = "2882e3179748cc9f9c23ec593d6adc8d"
SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995"
# Flex has moved to github from 2.6.1 onwards
UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases"
@@ -30,7 +28,7 @@ inherit autotools gettext texinfo ptest
M4 = "${bindir}/m4"
M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
EXTRA_OECONF += "ac_cv_path_M4=${M4}"
EXTRA_OECONF += "ac_cv_path_M4=${M4} ac_cv_func_reallocarray=no"
EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
EXTRA_OEMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', 'FLEX=${STAGING_BINDIR_NATIVE}/flex', '', d)}"