diff options
author | Mike Pall <mike> | 2011-02-05 23:01:10 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-05 23:01:10 +0100 |
commit | 26bb0fe24b96f00d4df59fe0af464e22a2130958 (patch) | |
tree | 48cfad3eba3d79eb60a4be789d17505a4fdaab3d /src | |
parent | 26fadcd25bb9e84e15be0a81a56806d5419c3183 (diff) | |
download | luajit-26bb0fe24b96f00d4df59fe0af464e22a2130958.tar.gz luajit-26bb0fe24b96f00d4df59fe0af464e22a2130958.tar.bz2 luajit-26bb0fe24b96f00d4df59fe0af464e22a2130958.zip |
FFI: Limit number of arguments for recorded calls.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_crecord.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 2ecd2867..ae528881 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -681,7 +681,7 @@ static TRef crec_call_args(jit_State *J, RecordFFData *rd, | |||
681 | for (n = 0; J->base[n+1]; n++) { | 681 | for (n = 0; J->base[n+1]; n++) { |
682 | CType *d; | 682 | CType *d; |
683 | do { | 683 | do { |
684 | if (!ct->sib) | 684 | if (!ct->sib || n >= CCI_NARGS_MAX) |
685 | lj_trace_err(J, LJ_TRERR_NYICALL); | 685 | lj_trace_err(J, LJ_TRERR_NYICALL); |
686 | ct = ctype_get(cts, ct->sib); | 686 | ct = ctype_get(cts, ct->sib); |
687 | } while (ctype_isattrib(ct->info)); | 687 | } while (ctype_isattrib(ct->info)); |