diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-03-09 23:52:20 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-03-09 23:52:20 -0700 |
commit | 110e155595d397e5328f6f7af33e430d1a361bbc (patch) | |
tree | 1a7b5cf655b630bee59ba263201a8bcba843591e | |
parent | de2624b04b91359337d4cd5e29b97720ed61df1b (diff) | |
download | txr-110e155595d397e5328f6f7af33e430d1a361bbc.tar.gz txr-110e155595d397e5328f6f7af33e430d1a361bbc.tar.bz2 txr-110e155595d397e5328f6f7af33e430d1a361bbc.zip |
* match.c (v_trailer): Fix segfault. The code which
helps implement the special interaction between @(accept) and
@(trailer) was not handling the situation when there is not
current unwind exit point.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | match.c | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -1,5 +1,12 @@ 2014-03-09 Kaz Kylheku <kaz@kylheku.com> + * match.c (v_trailer): Fix segfault. The code which + helps implement the special interaction between @(accept) and + @(trailer) was not handling the situation when there is not + current unwind exit point. + +2014-03-09 Kaz Kylheku <kaz@kylheku.com> + * parser.l: Syntactic tweak. Do not allow the "extra" constituent chars # or ^ to start the symbol name after an @. Prior to this change @^a is a "meta-symbol" whose name is "^a", @@ -2129,7 +2129,7 @@ static val v_trailer(match_files_ctx *c) */ uw_unwind { uw_frame_t *ex = uw_current_exit_point(); - if (ex->uw.type == UW_BLOCK && ex->bl.protocol == accept_s) + if (ex && ex->uw.type == UW_BLOCK && ex->bl.protocol == accept_s) rplacd(ex->bl.result, cons(c->data, c->data_lineno)); } |