Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1161597 - Capturing group offsets before forced match are not initialized
Capturing group offsets before forced match are not initialized
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pcre (Show other bugs)
7.1
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Petr Pisar
Jan Kepler
http://bugs.exim.org/show_bug.cgi?id=...
: Patch
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-11-07 07:49 EST by Petr Pisar
Modified: 2015-11-19 00:15 EST (History)
3 users (show)

See Also:
Fixed In Version: pcre-8.32-15.el7
Doc Type: Bug Fix
Doc Text:
Previously, non-matched groups within capturing groups up to a forced match were not being properly reset by PCRE, causing the library to incorrectly match some groups. With this update, non-matched groups within capturing groups up to a forced match are being properly marked as non-matching.
Story Points: ---
Clone Of: 1161587
Environment:
Last Closed: 2015-11-19 00:15:18 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Upstream fix ported to 8.32 (2.27 KB, patch)
2014-11-07 08:10 EST, Petr Pisar
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2142 normal SHIPPED_LIVE pcre bug fix update 2015-11-19 03:16:47 EST

  None (edit)
Description Petr Pisar 2014-11-07 07:49:07 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).
Comment 1 Petr Pisar 2014-11-07 08:10:10 EST
Created attachment 954919 [details]
Upstream fix ported to 8.32
Comment 7 errata-xmlrpc 2015-11-19 00:15:18 EST
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

Note You need to log in before you can comment on or make changes to this bug.