mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 07:34:07 +00:00
FFI: Fix argument checks for ffi.string().
This commit is contained in:
parent
b6ec7c7c86
commit
93c2b939bd
@ -657,7 +657,7 @@ LJLIB_CF(ffi_string) LJLIB_REC(.)
|
|||||||
TValue *o = lj_lib_checkany(L, 1);
|
TValue *o = lj_lib_checkany(L, 1);
|
||||||
const char *p;
|
const char *p;
|
||||||
size_t len;
|
size_t len;
|
||||||
if (o+1 < L->top) {
|
if (o+1 < L->top && !tvisnil(o+1)) {
|
||||||
len = (size_t)ffi_checkint(L, 2);
|
len = (size_t)ffi_checkint(L, 2);
|
||||||
lj_cconv_ct_tv(cts, ctype_get(cts, CTID_P_CVOID), (uint8_t *)&p, o,
|
lj_cconv_ct_tv(cts, ctype_get(cts, CTID_P_CVOID), (uint8_t *)&p, o,
|
||||||
CCF_ARG(1));
|
CCF_ARG(1));
|
||||||
|
@ -1514,7 +1514,7 @@ void LJ_FASTCALL recff_ffi_string(jit_State *J, RecordFFData *rd)
|
|||||||
TRef tr = J->base[0];
|
TRef tr = J->base[0];
|
||||||
if (tr) {
|
if (tr) {
|
||||||
TRef trlen = J->base[1];
|
TRef trlen = J->base[1];
|
||||||
if (trlen) {
|
if (!tref_isnil(trlen)) {
|
||||||
trlen = crec_toint(J, cts, trlen, &rd->argv[1]);
|
trlen = crec_toint(J, cts, trlen, &rd->argv[1]);
|
||||||
tr = crec_ct_tv(J, ctype_get(cts, CTID_P_CVOID), 0, tr, &rd->argv[0]);
|
tr = crec_ct_tv(J, ctype_get(cts, CTID_P_CVOID), 0, tr, &rd->argv[0]);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user