[ragel] changes to Ragel in response to the CloudFlare incident
Adrian Thurston
thurston at colm.net
Thu Mar 23 07:32:44 UTC 2017
This solution is now checked in on the ragel-6 branch and master.
What's different:
Before jumping back into the machine execution in an fgoto, fcall, or
fret in an EOF action, a check of P vs PE is done. If P is still equal
to PE then control moves to the EOF check instead of re-entering.
Any code that correctly issues an fhold should function the same.
Any code that does not modify P will behave as if fhold was issued.
-Adrian
On 2017-02-28 14:45, Adrian Thurston wrote:
> I've debated a few alternatives, but I believe the correct response is
> to perform an EOF check in the code generated by fgoto in actions that
> run at EOF time. Probably specialize the action to two distinct cases
> and not touch the on-char version.
More information about the ragel-users
mailing list