|
From: | Paolo Bonzini |
Subject: | Re: regex [was: M4 1.4.14 on AIX 7.1BETA] |
Date: | Thu, 29 Jul 2010 19:19:51 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Lightning/1.0b2pre Thunderbird/3.0.5 |
On 07/29/2010 07:10 PM, Eric Blake wrote:
On 07/29/2010 10:46 AM, Rainer Tammer wrote:*If I use M4 1.4.14.6-ffa0:* # ../src/m4 164.regexp ../src/m4:164.regexp:10: bad regular expression: `\<[a-z]\w+': Memory exhausted...and has since regressed.
Looks like we have a suspect... commit 602e3e6b709592f883ebb7bf58df1f955ea4b8f2 Author: Jim Meyering <address@hidden> Date: Fri Mar 19 21:26:36 2010 +0100 regcomp.c: make non-_LIBC implementation of build_range_exp consistent The _LIBC implementation of build_range_exp correctly honors the RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints. However, the non-_LIBC implementation would ignore that syntax-bit flag and return REG_ERANGE unconditionally. This change makes it honor that flag. * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax". Make two pointer parameters "const". Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES. (parse_bracket_exp): Update caller.Unfortunately, I don't think I'll have much time to look at it. Anyway, Eric, is this reproducible on a glibc system --with-included-regex?
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |