[Issue 12691] std.regex.bmatch bug in empty OR operator inside of ()*

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon May 12 08:35:56 PDT 2014


https://issues.dlang.org/show_bug.cgi?id=12691

Dmitry Olshansky <dmitry.olsh at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull
            Summary|std.regex.bmatch with empty |std.regex.bmatch bug in
                   |string after OR operator    |empty OR operator inside of
                   |crashes with free():        |()*
                   |invalid pointer             |

--- Comment #2 from Dmitry Olshansky <dmitry.olsh at gmail.com> ---
https://github.com/D-Programming-Language/phobos/pull/2164

The bug also applies to ctRegex as they share engines.

Reduced test-case:

import std.regex;

void main()
{

    assert(bmatch("e@", "^([a-z]|)*$").empty);
    assert(bmatch("e@", ctRegex!`^([a-z]|)*$`).empty);
}

--


More information about the Digitalmars-d-bugs mailing list