[parrot/parrot] 769078: [imcc] fix end in methods GH #1168
GitHub
noreply at github.com
Sat Jan 10 19:26:59 UTC 2015
Branch: refs/heads/smoke-me/afl-crash-gh1168
Home: https://github.com/parrot/parrot
Commit: 7690786febd6777e00ba43c9c26a37778accc3c5
https://github.com/parrot/parrot/commit/7690786febd6777e00ba43c9c26a37778accc3c5
Author: Reini Urban <rurban at cpanel.net>
Date: 2015-01-10 (Sat, 10 Jan 2015)
Changed paths:
M ChangeLog
M compilers/imcc/pcc.c
M src/ops/core.ops
Log Message:
-----------
[imcc] fix end in methods GH #1168
This is the last fix for all afl-fuzz detected crashes.
And `end` op inside a user-defined method will exit a runloop unproperly.
The old ctx will be corrupted. Replace it with an equivalent `returncc` op,
which does set the continuation and context properly to end the current runloop.
`exit` would be an alternative, but we documented `end` to halt the interpreter,
which is fresh inside certain runloops. I documented this case as unspecified behaviour.
It crashed before, now it returns.
More information about the parrot-commits
mailing list