Red Hat Bugzilla – Bug 1161597
Capturing group offsets before forced match are not initialized
Last modified: 2015-11-19 00:15:18 EST
+++ This bug was initially created as a clone of Bug #1161587 +++ As reported to upstream <http://bugs.exim.org/show_bug.cgi?id=1537>: $ pcretest PCRE version 8.36 2014-09-26 re> /(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))/ data> 1234abcd 0: 1: 2: 3: 4: 5: data> Which should return "unset" groups 1--4. The library forgets to set those offsets to -1. Fixed by upstream: commit e2eeaf85f1b5d6c4669b621d309ff904cbf96f4b Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> Date: Wed Nov 5 15:08:03 2014 +0000 Fix bug when there are unset groups prior to (*ACCEPT) within a capturing group. git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1510 2f5784b3-3f2a-0410-8824-cb99058d5e15 [...] --- Additional comment from Petr Pisar on 2014-11-07 12:28:00 GMT --- Simpler reproducer: Was: re> /(x)|((*ACCEPT))/ data> abcd 0: 1: 2: Should be: re> /(x)|((*ACCEPT))/ data> abcd 0: 1: <unset> 2: data> ---- RHEL-7 is affected (pcre-8.32-13.el7).
Created attachment 954919 [details] Upstream fix ported to 8.32
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2142.html