[Bug 1361610] Re: libPCRE3 8.31 regex matching is not working

Arne de Bruijn ubuntu at 2ar.nl
Tue May 24 12:32:03 UTC 2016


I was afraid so.

You could try using the pcre.h header from the embedded pcre in Poco
(apt-get source libPoco-dev, poco-1.3.6p1/Foundation/src/pcre.h), that
I've attached as pocopcre.h and not linking to the system pcre (just g++
regex.cc -lPocoFoundation).

That seems to work for me:
Poco POCO_VERSION on Linux 3.13.0-24-generic @ x86_64
Poco  match 1234567890 to pattern ^[0-9]{10} matches? yes
Poco  match 123456789 to pattern ^[0-9]{10} matches? no
PCRE 7.8 2008-09-05
PCRE  match 1234567890 to pattern ^[0-9]{10} matches? yes
PRCE  match 123456789 to pattern ^[0-9]{10} matches? no

If you need a more recent pcre you need to change Poco somehow to not
expose the pcre functions, for example by renaming them, adding a
namespace or using __attribute__ ((visibility ("hidden"))). Maybe the
poco developers can help you with that.

** Attachment added: "pocopcre.h"
   https://bugs.launchpad.net/ubuntu/+source/pcre3/+bug/1361610/+attachment/4669359/+files/pocopcre.h

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pcre3 in Ubuntu.
https://bugs.launchpad.net/bugs/1361610

Title:
  libPCRE3 8.31 regex matching is not working

Status in pcre3 package in Ubuntu:
  Invalid
Status in poco package in Ubuntu:
  Confirmed

Bug description:
  It looks like that libPCRE3 8.31 included in Ubuntu 13.10 does not
  handle regex matching alright. This also affects the libPocoFoundation
  RegularExpression classes.

  I attached a proof-of-concept which tests a good and bad heystack
  string to a regex pattern with Poco, Boost and PCRE. I tested it on
  two different machines with the following output:

  Ubuntu 13.10 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 i686 i686 i686 GNU/Linux
  Poco 0x01030600 on Linux 3.11.0-13-generic @ i686
  Poco  match 1234567890 to pattern ^[0-9]{10} matches? no --> NOT CORRECT
  Poco  match 123456789 to pattern ^[0-9]{10} matches? no
  Boost match 1234567890 to pattern ^[0-9]{10} matches? yes
  Boost match 123456789 to pattern ^[0-9]{10} matches? no
  PCRE 8.31 2012-07-06
  PCRE  match 1234567890 to pattern ^[0-9]{10} matches? yes
  PRCE  match 123456789 to pattern ^[0-9]{10} matches? yes --> NOT CORRECT

  Ubuntu 12.04.3 LTS  3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux
  Poco 0x01030600 on Linux 3.8.0-29-generic @ i686
  Poco  match 1234567890 to pattern ^[0-9]{10} matches? yes --> OK
  Poco  match 123456789 to pattern ^[0-9]{10} matches? no
  Boost match 1234567890 to pattern ^[0-9]{10} matches? yes
  Boost match 123456789 to pattern ^[0-9]{10} matches? no
  PCRE 8.12 2011-01-15
  PCRE  match 1234567890 to pattern ^[0-9]{10} matches? yes
  PRCE  match 123456789 to pattern ^[0-9]{10} matches? no --> OK

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pcre3/+bug/1361610/+subscriptions



More information about the foundations-bugs mailing list