From ae3f57c99c3c7b89cc15448a3365e71795a1a21b Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 29 Nov 2016 10:55:30 -0800 Subject: [PATCH] grep: fix DFA-induced infloop * gnulib: Update to latest, for the DFA infloop fix. * tests/dfa-infloop: New test, to trigger an infinite loop in the DFA matcher. * tests/Makefile.am (TESTS): Add it. --- gnulib | 2 +- tests/Makefile.am | 1 + tests/dfa-infloop | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100755 tests/dfa-infloop diff --git a/gnulib b/gnulib index 9cba42f..ca3ca77 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 9cba42f87e1e88ac746e2341c51e78f9f640fefa +Subproject commit ca3ca77fc9e497ff5048a9f1ee0d1acc8e050f51 diff --git a/tests/Makefile.am b/tests/Makefile.am index 442e85a..3ded7a7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -85,6 +85,7 @@ TESTS = \ count-newline \ dfa-coverage \ dfa-heap-overrun \ + dfa-infloop \ dfaexec-multibyte \ empty \ empty-line \ diff --git a/tests/dfa-infloop b/tests/dfa-infloop new file mode 100755 index 0000000..e35eef5 --- /dev/null +++ b/tests/dfa-infloop @@ -0,0 +1,12 @@ +#!/bin/sh +# This would infloop for some unreleased versions between 2.26 and 2.27 +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +require_timeout_ + +fail=0 + +echo cx > in || framework_failure_ +returns_ 1 timeout 10 env LC_ALL=C grep -E 'c\b[x ]' in || fail=1 + +Exit $fail -- 2.9.3