diff options
author | Mike Pall <mike> | 2021-10-12 23:49:47 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2021-10-12 23:49:47 +0200 |
commit | bfd076532cdf1159df13499392879f5f4d3a9a5d (patch) | |
tree | 9135b02923923382b6b1495aedbd6eb9fd88bd85 | |
parent | 05f1984e1a862e4b3d3c3b370c773492e2edf84a (diff) | |
download | luajit-bfd076532cdf1159df13499392879f5f4d3a9a5d.tar.gz luajit-bfd076532cdf1159df13499392879f5f4d3a9a5d.tar.bz2 luajit-bfd076532cdf1159df13499392879f5f4d3a9a5d.zip |
Fix string buffer method recording.
Reported and analyzed by vfprintf. #755
-rw-r--r-- | src/lj_ffrecord.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c index 4c351bd6..97b40f98 100644 --- a/src/lj_ffrecord.c +++ b/src/lj_ffrecord.c | |||
@@ -1123,6 +1123,7 @@ static TRef recff_sbufx_check(jit_State *J, RecordFFData *rd, int arg) | |||
1123 | if (!tvisbuf(&rd->argv[arg])) lj_trace_err(J, LJ_TRERR_BADTYPE); | 1123 | if (!tvisbuf(&rd->argv[arg])) lj_trace_err(J, LJ_TRERR_BADTYPE); |
1124 | trtype = emitir(IRT(IR_FLOAD, IRT_U8), ud, IRFL_UDATA_UDTYPE); | 1124 | trtype = emitir(IRT(IR_FLOAD, IRT_U8), ud, IRFL_UDATA_UDTYPE); |
1125 | emitir(IRTGI(IR_EQ), trtype, lj_ir_kint(J, UDTYPE_BUFFER)); | 1125 | emitir(IRTGI(IR_EQ), trtype, lj_ir_kint(J, UDTYPE_BUFFER)); |
1126 | J->needsnap = 1; | ||
1126 | return ud; | 1127 | return ud; |
1127 | } | 1128 | } |
1128 | 1129 | ||