From a4762b6ffe74f5878882ef238d37bfa92d90e418 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 15 Nov 2024 12:04:53 -0300 Subject: 'objsize' returns 'l_mem' Sums of size_t may not fit in a size_t. --- lfunc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lfunc.c') diff --git a/lfunc.c b/lfunc.c index 2b041281..0ea05e00 100644 --- a/lfunc.c +++ b/lfunc.c @@ -264,16 +264,16 @@ Proto *luaF_newproto (lua_State *L) { } -size_t luaF_protosize (Proto *p) { - size_t sz = sizeof(Proto) +lu_mem luaF_protosize (Proto *p) { + lu_mem sz = cast(lu_mem, sizeof(Proto)) + cast_uint(p->sizep) * sizeof(Proto*) + cast_uint(p->sizek) * sizeof(TValue) + cast_uint(p->sizelocvars) * sizeof(LocVar) + cast_uint(p->sizeupvalues) * sizeof(Upvaldesc); if (!(p->flag & PF_FIXED)) { - sz += cast_uint(p->sizecode) * sizeof(Instruction) - + cast_uint(p->sizelineinfo) * sizeof(lu_byte) - + cast_uint(p->sizeabslineinfo) * sizeof(AbsLineInfo); + sz += cast_uint(p->sizecode) * sizeof(Instruction); + sz += cast_uint(p->sizelineinfo) * sizeof(lu_byte); + sz += cast_uint(p->sizeabslineinfo) * sizeof(AbsLineInfo); } return sz; } -- cgit v1.2.3-55-g6feb