diff options
-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)); |