Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5620

CMake option to compile against an external PCRE library

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 10.0.8
    • Fix Version/s: 10.0.9
    • Component/s: None
    • Labels:
      None

      Description

      Under terms of MDEV-5304 we upgraded PCRE to 8.34
      but did not add a CMake options to compile against an
      external PCRE library.
      We should eventually add a CMake option.

      The problem is that using an external PCRE is dangerous
      because of a possible stack overrun, which we fix in the bundled
      PCRE with the patch pcre/maria-patches/pcre_stack_guard.diff.

      There are some options:
      a. wait for the PCRE team to add some built-in means to watch the stack
      b. use the current PCRE version and check the pattern against
      nested parenthesis every time we call pcre_compile().

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              serg Sergei Golubchik added a comment -

              Our PCRE stack_guard patch is now in Mageia.

              Show
              serg Sergei Golubchik added a comment - Our PCRE stack_guard patch is now in Mageia.
              Hide
              serg Sergei Golubchik added a comment -

              I suppose now we can allow system PCRE if it supports pcre_stack_guard (cmake can check for it). When official PCRE will have a solution for this stack overflow we can extend the CMakeLists.txt to check for this solution too.

              Show
              serg Sergei Golubchik added a comment - I suppose now we can allow system PCRE if it supports pcre_stack_guard (cmake can check for it). When official PCRE will have a solution for this stack overflow we can extend the CMakeLists.txt to check for this solution too.
              Hide
              oden Oden Eriksson added a comment - - edited

              PCRE upstream accepted the stack guard patch with some small changes. This patch has been added to the mageia cauldron packages.

              Here's the upstream one: "svn diff -r\1453:1454 svn://vcs.exim.org/pcre/code/trunk"

              (had to escape the first revision, weird...)

              Show
              oden Oden Eriksson added a comment - - edited PCRE upstream accepted the stack guard patch with some small changes. This patch has been added to the mageia cauldron packages. Here's the upstream one: "svn diff -r\1453:1454 svn://vcs.exim.org/pcre/code/trunk" (had to escape the first revision, weird...)

                People

                • Assignee:
                  serg Sergei Golubchik
                  Reporter:
                  bar Alexander Barkov
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 1 hour, 30 minutes
                    1h 30m