[pcre-dev] [Bug 1463] pcre-8.35 fails test with GCC 4.9

Page principale
Supprimer ce message
Auteur: Simon McVittie
Date:  
À: pcre-dev
Anciens-sujets: [pcre-dev] [Bug 1463] New: pcre-8.35 fails test with GCC 4.9
Sujet: [pcre-dev] [Bug 1463] pcre-8.35 fails test with GCC 4.9
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1463

Simon McVittie <smcv@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smcv@???





--- Comment #5 from Simon McVittie <smcv@???> 2014-07-20 15:20:57 ---
> I have studied the reference you gave, the current code in head, and the
> proposed fix in this report, and I cannot see any differences.


The difference is three test failures of this form:

/(){64294967295}/I
-Failed: number too big in {} quantifier at offset 14
+Failed: number too big in {} quantifier at offset 9

For your convenience, here are the relevant offsets:

 /(){64294967295}/I
          ^    ^
          9    14


The old implementation reported the error as if it had occurred at the last
digit of the quantifier; your new implementation after patch 1472 reports the
error as if it had occurred at the first digit at which the quantifier exceeds
the allowed range.

There are two ways you could fix this.

Petr's proposed fix returns the same offset that the code historically did in
enough cases to make all the tests pass, although I think it might be
incomplete: if passed, for instance, /(){4294967295,4294967296}/, the old
implementation would report the error as occurring at the 5 immediately before
the comma, whereas Petr's patch reports it at the 6 immediately before the
closing curly bracket.

Alternatively, you could update the expected offsets in testdata/testoutput2 to
match the new implementation. This is the one I'd go for if I was the
maintainer, but obviously it's your choice.

(FYI, this is tracked as
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751828 in Debian; it is
currently considered to be release-critical for Debian 8, because the failing
tests abort the build.)


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email