Overview
Artifact ID: | 514ad186ad4a5ae52b00b75129eeb0e7142319e4 |
---|---|
Ticket: | 8f245009b0bde00454c3cecfef1d230596f78b51
Another case that hangs regexp optimizer pullback() phase |
User & Date: | tgl 2013-10-29 19:50:21 |
Changes
- icomment:
In looking at this, I'm wondering whether there isn't an additional bug in the patch for CVE-2007-4772. That added code to pull() and push() that deletes any circular constraint arcs ("circular" meaning that from == to). It's obviously correct to remove such arcs, since traversing one can do nothing useful. However, the types of arcs that are removed are just '^', '$', BEHIND, AHEAD. Should not circular LACON arcs be removed as well? The reason I note this is that the trouble we're looking at comes from the case where we try to swap two COMPATIBLE arcs, and combine() will say COMPATIBLE for cases involving a LACON and another constraint arc. So it seems like loops involving LACON arcs are just as dangerous, and unnecessary, as loops involving only other constraint types.
- login: "tgl"
- mimetype: "text/plain"
- username: "tgl"