~ chicken-core (chicken-5) b0d1c77845c38a2e2a52a8ea2ed1b1246e353f24
commit b0d1c77845c38a2e2a52a8ea2ed1b1246e353f24 Author: Peter Bex <peter@more-magic.net> AuthorDate: Sat Aug 22 18:13:39 2015 +0200 Commit: Peter Bex <peter@more-magic.net> CommitDate: Sat Aug 22 19:37:26 2015 +0200 C_call_with_values: fetch args after checking argc Conflicts: runtime.c diff --git a/runtime.c b/runtime.c index c2db4815..fb83f350 100644 --- a/runtime.c +++ b/runtime.c @@ -7314,13 +7314,16 @@ void C_ccall C_call_with_values(C_word c, C_word *av) C_word /* closure = av[ 0 ] */ k = av[ 1 ], - thunk = av[ 2 ], - kont = av[ 3 ], + thunk, + kont, *a = C_alloc(C_SIZEOF_CLOSURE(3)), kk; if(c != 4) C_bad_argc(c, 4); + thunk = av[ 2 ]; + kont = av[ 3 ]; + if(C_immediatep(thunk) || C_header_bits(thunk) != C_CLOSURE_TYPE) barf(C_BAD_ARGUMENT_TYPE_ERROR, "call-with-values", thunk);Trap