diff options
author | Mike Pall <mike> | 2025-03-11 23:04:30 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2025-03-11 23:04:30 +0100 |
commit | 538a82133ad6fddfd0ca64de167c4aca3bc1a2da (patch) | |
tree | 22fd80543291b6b51ba9a6f841719bab7ed7b3bd /src/lj_opt_fold.c | |
parent | 84cb21ffaf648b472ff3884556e2c413e8abe179 (diff) | |
download | luajit-v2.1.tar.gz luajit-v2.1.tar.bz2 luajit-v2.1.zip |
Reported by Bernhard M. Wiedemann. #1348 #1155
Fixes from Peter Cawley, Christian Clason, Lewis Russell.
Diffstat (limited to 'src/lj_opt_fold.c')
-rw-r--r-- | src/lj_opt_fold.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 36aacebb..6fdf4566 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -2217,9 +2217,11 @@ LJFOLD(HREF TDUP KNUM) | |||
2217 | LJFOLDF(fwd_href_tdup) | 2217 | LJFOLDF(fwd_href_tdup) |
2218 | { | 2218 | { |
2219 | TValue keyv; | 2219 | TValue keyv; |
2220 | cTValue *val; | ||
2220 | lj_ir_kvalue(J->L, &keyv, fright); | 2221 | lj_ir_kvalue(J->L, &keyv, fright); |
2221 | if (lj_tab_get(J->L, ir_ktab(IR(fleft->op1)), &keyv) == niltvg(J2G(J)) && | 2222 | val = lj_tab_get(J->L, ir_ktab(IR(fleft->op1)), &keyv); |
2222 | lj_opt_fwd_href_nokey(J)) | 2223 | /* Check for either nil or the nil value marker in the template table. */ |
2224 | if ((tvisnil(val) || tvistab(val)) && lj_opt_fwd_href_nokey(J)) | ||
2223 | return lj_ir_kkptr(J, niltvg(J2G(J))); | 2225 | return lj_ir_kkptr(J, niltvg(J2G(J))); |
2224 | return NEXTFOLD; | 2226 | return NEXTFOLD; |
2225 | } | 2227 | } |