From be7932e863de07c4c7e4fc3c1db3eb6d04ba9af5 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Mon, 4 Feb 2013 11:39:20 +0000 Subject: cut: fix a segfault with disjoint open ended ranges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the issue introduced in unreleased commit v8.20-60-gec48bea. * src/cut.c (set_fields): Don't access the bit array if we've an open ended range that's outside any finite range. * tests/misc/cut.pl: Add tests for this case. Reported by Marcel Böhme in http://bugs.gnu.org/13627 --- src/cut.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cut.c b/src/cut.c index 36172c061..494aad772 100644 --- a/src/cut.c +++ b/src/cut.c @@ -530,7 +530,9 @@ set_fields (const char *fieldstr) if (output_delimiter_specified && !complement && eol_range_start - && max_range_endpoint && !is_printable_field (eol_range_start)) + && max_range_endpoint + && (max_range_endpoint < eol_range_start + || !is_printable_field (eol_range_start))) mark_range_start (eol_range_start); free (rp); -- cgit v1.2.3-54-g00ecf