Bug 1048101

Summary: Range check wrongly optimized in JIT
Product: Red Hat Enterprise Linux 7 Reporter: Petr Pisar <ppisar>
Component: pcreAssignee: Petr Pisar <ppisar>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Kyral <mkyral>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: mkyral
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://bugs.exim.org/show_bug.cgi?id=1423
Whiteboard:
Fixed In Version: pcre-8.32-10.el7 Doc Type: Bug Fix
Doc Text:
Cause: Matching PCRE pattern containing character ranges with enabled JIT mode. Consequence: The expressions does not match in all cases that match without JIT. Fix: An upstream fix has been applied to optimize character ranges properly in JIT mode while compiling the pattern. Result: PCRE behaves identically regardless of enabling JIT.
Story Points: ---
Clone Of: 1048097 Environment:
Last Closed: 2014-06-12 08:38:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Fix none

Description Petr Pisar 2014-01-03 07:32:29 UTC
+++ This bug was initially created as a clone of Bug #1048097 +++

$ printf '/[efij]/S+\ne\n' | pcretest
PCRE version 8.32 2012-11-30

  re> data> No match
data> 

This should match "e". This is a regression introduced in 8.32 and affects JITted code path.

Reported by upstream <http://bugs.exim.org/show_bug.cgi?id=1423>, a fix is provided there.

Fedoras ≥ 19 are affected.

-----

RHEL 7 is affected (pcre-8.32-8.el7.x86_64).

Comment 1 Petr Pisar 2014-01-09 14:13:21 UTC
Created attachment 847676 [details]
Fix