Fix in the definition of 'sizeLclosure'

The array at the end of a Lua closure has pointers to upvalues, not
to tagged values. This bug cannot cause any issue: The ISO C standard
requires that all pointers to structures have the same representation,
so sizeof(TValue*) must be equal to sizeof(UpVal*).
This commit is contained in:
Roberto Ierusalimschy
2024-12-03 10:53:46 -03:00
parent 04e495403b
commit 975d4e0592

View File

@@ -15,7 +15,7 @@
(offsetof(CClosure, upvalue) + sizeof(TValue) * cast_uint(n))
#define sizeLclosure(n) \
(offsetof(LClosure, upvals) + sizeof(TValue *) * cast_uint(n))
(offsetof(LClosure, upvals) + sizeof(UpVal *) * cast_uint(n))
/* test whether thread is in 'twups' list */