https://bugs.exim.org/show_bug.cgi?id=1717
Bug ID: 1717 Summary: Classes beginning with POSIX class notation missing elements Product: PCRE Version: 8.37 Hardware: x86 OS: All Status: NEW Severity: bug Priority: medium Component: Code Assignee: p...@hermes.cam.ac.uk Reporter: justin.vii...@intel.com CC: pcre-dev@exim.org Hi there, We had a fuzzer (actually a simple pattern generator) produce some cases that appear to be miscompiled by PCRE. Here is an example, using pcretest: $ bin/pcretest -d PCRE version 8.37 2015-04-28 re> /a[[:punct:]b]/8W ------------------------------------------------------------------ 0 7 Bra 3 ab 7 7 Ket 10 End ------------------------------------------------------------------ It appears that the POSIX class has gone missing, leaving this class as just [b]. Note that if an extra element is added, we get what we would expect: re> /a[[:punct:]bc]/8W ------------------------------------------------------------------ 0 45 Bra 3 a 5 [bc[:punct:]] 45 45 Ket 48 End ------------------------------------------------------------------ Similarly, we get the expected class (including :punct:) if we reorder the first case as /a[b[:punct:]]/8W. This seems to be dependent on the PCRE_UCP flag and happens for the [:graph:], [:punct:], [:print:] classes -- perhaps to do with their special handling in UCP mode? This bug appears to be present in PCRE2 10.20 as well. -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev