From 6ca580155b035fd369f193cdee59391b594a5028 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 19 Jul 2021 17:03:16 +0200 Subject: Avoid out-of-range number of results when compiling select(k, ...). The interpreter will throw and abort the trace, anyway. --- src/lj_ffrecord.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c index ff6ecc51..9405e694 100644 --- a/src/lj_ffrecord.c +++ b/src/lj_ffrecord.c @@ -256,9 +256,9 @@ static void LJ_FASTCALL recff_select(jit_State *J, RecordFFData *rd) ptrdiff_t n = (ptrdiff_t)J->maxslot; if (start < 0) start += n; else if (start > n) start = n; - rd->nres = n - start; if (start >= 1) { ptrdiff_t i; + rd->nres = n - start; for (i = 0; i < n - start; i++) J->base[i] = J->base[start+i]; } /* else: Interpreter will throw. */ -- cgit v1.2.1