{
"ground_truth": [],
"labels": [
{"rule":"PRE02-C","file":"ltable.c","line":99,"verdict":"FP","confidence":"high","reason":"MAXHSIZE is a single macro call; no operator precedence hazard."},
{"rule":"PRE00-C","file":"ltable.c","line":106,"verdict":"FP","confidence":"high","reason":"All hashpow2 call sites pass non-side-effecting arguments."},
{"rule":"PRE12-C","file":"ltable.c","line":106,"verdict":"FP","confidence":"high","reason":"No call site passes side-effecting expression to hashpow2."},
{"rule":"PRE00-C","file":"ltable.c","line":112,"verdict":"FP","confidence":"high","reason":"All hashmod call sites pass non-side-effecting arguments."},
{"rule":"PRE12-C","file":"ltable.c","line":112,"verdict":"FP","confidence":"high","reason":"No call site passes side-effecting expression to hashmod."},
{"rule":"INT14-C","file":"ltable.c","line":148,"verdict":"FP","confidence":"high","reason":"Advisory readability nit; no actual defect in intentional hash idiom."},
{"rule":"INT14-C","file":"ltable.c","line":148,"verdict":"FP","confidence":"high","reason":"Advisory readability nit; same mixed-op idiom is intentional."},
{"rule":"INT33-C","file":"ltable.c","line":148,"verdict":"FP","confidence":"high","reason":"Divisor is (sizenode-1)|1 which is always >= 1; cannot be zero."},
{"rule":"INT10-C","file":"ltable.c","line":148,"verdict":"FP","confidence":"high","reason":"Operands are non-negative by guard (ui <= INT_MAX); no negative modulo."},
{"rule":"API00-C","file":"ltable.c","line":226,"verdict":"FP","confidence":"high","reason":"Internal API; t is VM-guaranteed non-null."},
{"rule":"API00-C","file":"ltable.c","line":226,"verdict":"FP","confidence":"high","reason":"Internal API; nd is VM-guaranteed non-null."},
{"rule":"DCL15-C","file":"ltable.c","line":226,"verdict":"FP","confidence":"high","reason":"mainpositionfromnode is l_sinline = static inline; already static."},
{"rule":"DCL13-C","file":"ltable.c","line":226,"verdict":"FP","confidence":"high","reason":"Advisory const-param; nd read-only but internal; not a defect."},
{"rule":"EXP30-C","file":"ltable.c","line":256,"verdict":"FP","confidence":"high","reason":"Single function call return statement; no unsequenced side effects."},
{"rule":"EXP30-C","file":"ltable.c","line":272,"verdict":"FP","confidence":"high","reason":"Simple equality comparison return; no unsequenced multiple calls."},
{"rule":"EXP30-C","file":"ltable.c","line":278,"verdict":"FP","confidence":"high","reason":"Single function call return; no sequencing issue."},
{"rule":"MSC37-C","file":"ltable.c","line":291,"verdict":"FP","confidence":"high","reason":"getgeneric uses for(;;) with guaranteed returns inside; no fall-through."},
{"rule":"PRE01-C","file":"ltable.c","line":326,"verdict":"FP","confidence":"high","reason":"Missing parens on t->asize; t->asize is safe member access; call sites use plain pointer."},
{"rule":"API00-C","file":"ltable.c","line":361,"verdict":"FP","confidence":"high","reason":"Internal VM function; L is always valid lua_State."},
{"rule":"API00-C","file":"ltable.c","line":361,"verdict":"FP","confidence":"high","reason":"Internal VM function; t is always a valid Table pointer."},
{"rule":"MEM30-C","file":"ltable.c","line":397,"verdict":"FP","confidence":"high","reason":"freehash frees t->node memory, not t itself; t remains valid."},
{"rule":"API00-C","file":"ltable.c","line":479,"verdict":"FP","confidence":"high","reason":"Internal API; t is guaranteed valid by all callers."},
{"rule":"API00-C","file":"ltable.c","line":479,"verdict":"FP","confidence":"high","reason":"Advisory overflow check; key is bounded by array size already."},
{"rule":"DCL15-C","file":"ltable.c","line":479,"verdict":"FP","confidence":"high","reason":"arraykeyisempty is l_sinline = static inline; already static."},
{"rule":"DCL19-C","file":"ltable.c","line":479,"verdict":"FP","confidence":"high","reason":"arraykeyisempty is already static (l_sinline expands to static inline)."},
{"rule":"MSC37-C","file":"ltable.c","line":544,"verdict":"FP","confidence":"high","reason":"luaH_Hgetshortstr uses for(;;) with guaranteed internal returns."},
{"rule":"ARR39-C","file":"ltable.c","line":548,"verdict":"FP","confidence":"high","reason":"Integer byte-count computation for malloc; no pointer arithmetic involved."},
{"rule":"DCL13-C","file":"ltable.c","line":563,"verdict":"FP","confidence":"high","reason":"Advisory const-param; resizearray reads t->asize/array, minor advisory."},
{"rule":"MSC04-C","file":"ltable.c","line":602,"verdict":"FP","confidence":"high","reason":"Error-path recursion through Lua longjmp; architectural, not a real cycle."},
{"rule":"INT34-C","file":"ltable.c","line":611,"verdict":"FP","confidence":"high","reason":"lsize is guarded by MAXHBITS check above; shift never overflows."},
{"rule":"INT13-C","file":"ltable.c","line":611,"verdict":"FP","confidence":"high","reason":"1<<lsize guarded; shift never sets sign bit; advisory only."},
{"rule":"ARR39-C","file":"ltable.c","line":617,"verdict":"FP","confidence":"high","reason":"size*sizeof(Node)+sizeof(Limbox) is byte-count for luaM_newblock; not pointer arithmetic."},
{"rule":"ARR39-C","file":"ltable.c","line":619,"verdict":"FP","confidence":"high","reason":"node+sizeof(Limbox) on char* is correct byte-offset arithmetic."},
{"rule":"MEM30-C","file":"ltable.c","line":620,"verdict":"FP","confidence":"high","reason":"No free has occurred before this line; t is still valid."},
{"rule":"MEM30-C","file":"ltable.c","line":623,"verdict":"FP","confidence":"high","reason":"No free in this function; sqc confuses variable named 'free' with freeing."},
{"rule":"MEM30-C","file":"ltable.c","line":625,"verdict":"FP","confidence":"high","reason":"No free has occurred; t is still valid; sqc false alarm."},
{"rule":"INT13-C","file":"ltable.c","line":667,"verdict":"FP","confidence":"high","reason":"Bitwise OR on flag byte field; no sign-bit hazard; advisory only."},
{"rule":"API00-C","file":"ltable.c","line":715,"verdict":"FP","confidence":"high","reason":"Internal API; L always valid lua_State from caller."},
{"rule":"API00-C","file":"ltable.c","line":715,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid Table from caller."},
{"rule":"MSC04-C","file":"ltable.c","line":715,"verdict":"FP","confidence":"high","reason":"Error-path recursion through Lua longjmp; architectural, not defect."},
{"rule":"API00-C","file":"ltable.c","line":750,"verdict":"FP","confidence":"high","reason":"Internal API; L always valid."},
{"rule":"API00-C","file":"ltable.c","line":750,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"MSC04-C","file":"ltable.c","line":750,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural."},
{"rule":"MSC04-C","file":"ltable.c","line":761,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural pattern in Lua."},
{"rule":"EXP33-C","file":"ltable.c","line":767,"verdict":"FP","confidence":"high","reason":"ct.nums fully initialized by the for-loop on this very line."},
{"rule":"INT14-C","file":"ltable.c","line":787,"verdict":"FP","confidence":"high","reason":"Advisory readability nit on intentional hash-sizing arithmetic."},
{"rule":"API00-C","file":"ltable.c","line":798,"verdict":"FP","confidence":"high","reason":"Internal API; L always valid lua_State."},
{"rule":"MSC04-C","file":"ltable.c","line":798,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural."},
{"rule":"DCL30-C","file":"ltable.c","line":806,"verdict":"FP","confidence":"high","reason":"t points to GC-heap object (luaC_newobj), not a local; no dangling pointer."},
{"rule":"API00-C","file":"ltable.c","line":810,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":821,"verdict":"FP","confidence":"high","reason":"Internal API; L always valid."},
{"rule":"API00-C","file":"ltable.c","line":821,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"MEM30-C","file":"ltable.c","line":823,"verdict":"FP","confidence":"high","reason":"luaH_free frees node and array in order before freeing t; sequential, correct."},
{"rule":"MEM30-C","file":"ltable.c","line":823,"verdict":"FP","confidence":"high","reason":"Same sequential free pattern; t->asize read before luaM_free(t)."},
{"rule":"MEM30-C","file":"ltable.c","line":823,"verdict":"FP","confidence":"high","reason":"t->asize is read before luaM_free(t); no UAF."},
{"rule":"MEM30-C","file":"ltable.c","line":824,"verdict":"FP","confidence":"high","reason":"luaM_free(t) is the final free; no double-free; each sub-free targets different memory."},
{"rule":"MEM30-C","file":"ltable.c","line":831,"verdict":"FP","confidence":"high","reason":"getfreepos does not free anything; sqc confuses Node* var named 'free' with actual free."},
{"rule":"MEM30-C","file":"ltable.c","line":831,"verdict":"FP","confidence":"high","reason":"No free in getfreepos; t is never freed here."},
{"rule":"MEM30-C","file":"ltable.c","line":832,"verdict":"FP","confidence":"high","reason":"Variable named 'free' is a Node pointer, not a freed allocation; sqc false alarm."},
{"rule":"MEM30-C","file":"ltable.c","line":838,"verdict":"FP","confidence":"high","reason":"No free operation in this function; t always valid."},
{"rule":"MEM30-C","file":"ltable.c","line":840,"verdict":"FP","confidence":"high","reason":"No free in getfreepos; sqc pattern-matches variable name 'free' incorrectly."},
{"rule":"DCL13-C","file":"ltable.c","line":858,"verdict":"FP","confidence":"high","reason":"Advisory const-param; value is source for table write; minor advisory."},
{"rule":"MEM30-C","file":"ltable.c","line":867,"verdict":"FP","confidence":"high","reason":"No free of t before this point in insertkey; t is valid throughout."},
{"rule":"MEM30-C","file":"ltable.c","line":868,"verdict":"FP","confidence":"high","reason":"No free of t; sqc false alarm on internal chaining logic."},
{"rule":"MEM33-C","file":"ltable.c","line":874,"verdict":"FP","confidence":"high","reason":"Node is a plain struct, no flexible array member; struct assignment is correct."},
{"rule":"EXP34-C","file":"ltable.c","line":874,"verdict":"FP","confidence":"high","reason":"mp from mainpositionTV never returns NULL (dummynode guard prevents hash on dummy)."},
{"rule":"MSC04-C","file":"ltable.c","line":913,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural Lua pattern."},
{"rule":"API00-C","file":"ltable.c","line":958,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":974,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":974,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid TString pointer."},
{"rule":"MSC37-C","file":"ltable.c","line":974,"verdict":"FP","confidence":"high","reason":"luaH_Hgetshortstr uses for(;;) with guaranteed internal returns."},
{"rule":"API00-C","file":"ltable.c","line":990,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":990,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid."},
{"rule":"API00-C","file":"ltable.c","line":990,"verdict":"FP","confidence":"high","reason":"Internal API; res always valid output pointer."},
{"rule":"API00-C","file":"ltable.c","line":1011,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":1011,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid."},
{"rule":"API00-C","file":"ltable.c","line":1011,"verdict":"FP","confidence":"high","reason":"Internal API; res always valid output pointer."},
{"rule":"API00-C","file":"ltable.c","line":1019,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":1019,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid."},
{"rule":"API00-C","file":"ltable.c","line":1019,"verdict":"FP","confidence":"high","reason":"Internal API; res always valid output pointer."},
{"rule":"MSC37-C","file":"ltable.c","line":1048,"verdict":"FP","confidence":"high","reason":"retpsetcode has if/else both returning; no fall-off-end possible."},
{"rule":"DCL13-C","file":"ltable.c","line":1048,"verdict":"FP","confidence":"high","reason":"Advisory const-param; minor style issue only."},
{"rule":"API00-C","file":"ltable.c","line":1076,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":1076,"verdict":"FP","confidence":"high","reason":"Internal API; val always valid output pointer."},
{"rule":"API00-C","file":"ltable.c","line":1097,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid TString."},
{"rule":"API00-C","file":"ltable.c","line":1131,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":1131,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid."},
{"rule":"API00-C","file":"ltable.c","line":1131,"verdict":"FP","confidence":"high","reason":"Internal API; val always valid output pointer."},
{"rule":"API00-C","file":"ltable.c","line":1153,"verdict":"FP","confidence":"high","reason":"Internal API; L always valid."},
{"rule":"MSC04-C","file":"ltable.c","line":1153,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural Lua pattern."},
{"rule":"INT14-C","file":"ltable.c","line":1182,"verdict":"FP","confidence":"high","reason":"Advisory readability nit on intentional bitwise encoding of result codes."},
{"rule":"INT13-C","file":"ltable.c","line":1185,"verdict":"FP","confidence":"high","reason":"~hres on signed int is intentional two's-complement index encoding idiom."},
{"rule":"API00-C","file":"ltable.c","line":1195,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"API00-C","file":"ltable.c","line":1195,"verdict":"FP","confidence":"high","reason":"Internal API; key always valid."},
{"rule":"API00-C","file":"ltable.c","line":1195,"verdict":"FP","confidence":"high","reason":"Internal API; value always valid."},
{"rule":"MSC04-C","file":"ltable.c","line":1195,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural Lua pattern."},
{"rule":"API00-C","file":"ltable.c","line":1206,"verdict":"FP","confidence":"high","reason":"Internal API; t always valid."},
{"rule":"MSC04-C","file":"ltable.c","line":1206,"verdict":"FP","confidence":"high","reason":"Error-path recursion via longjmp; architectural Lua pattern."},
{"rule":"INT14-C","file":"ltable.c","line":1243,"verdict":"FP","confidence":"high","reason":"Advisory readability nit on intentional random-walk hash search."},
{"rule":"INT34-C","file":"ltable.c","line":1243,"verdict":"FP","confidence":"high","reason":"1u<<n where n=ceillog2(asize)<=MAXABITS; cannot exceed type width."},
{"rule":"INT13-C","file":"ltable.c","line":1243,"verdict":"FP","confidence":"high","reason":"1u<<n is already on unsigned operand; INT13-C finding is incorrect."},
{"rule":"INT14-C","file":"ltable.c","line":1244,"verdict":"FP","confidence":"high","reason":"Advisory readability nit; intentional mask arithmetic."},
{"rule":"INT14-C","file":"ltable.c","line":1244,"verdict":"FP","confidence":"high","reason":"Advisory readability nit; rnd is intentional combined arithmetic/bitwise."},
{"rule":"ARR00-C","file":"ltable.c","line":1262,"verdict":"FP","confidence":"high","reason":"j-i is integer subtraction on lua_Unsigned variables, not pointer subtraction."},
{"rule":"DCL15-C","file":"ltable.c","line":1301,"verdict":"FP","confidence":"high","reason":"luaH_getn is declared in ltable.h with LUAI_FUNC; needs external linkage."},
{"rule":"MSC37-C","file":"ltable.c","line":1301,"verdict":"FP","confidence":"high","reason":"luaH_getn all code paths return; final if/else both return values."},
{"rule":"API00-C","file":"ltable.c","line":1351,"verdict":"FP","confidence":"high","reason":"LUA_DEBUG-only export; t always valid in debug context."},
{"rule":"API00-C","file":"ltable.c","line":1351,"verdict":"FP","confidence":"high","reason":"LUA_DEBUG-only export; key always valid in debug context."}
],
"fns": [],
"files_reviewed": ["ltable.c"],
"files_clean": ["ltable.c"],
"summary": {
"ground_truth": 0,
"tp": 0,
"fp": 108,
"fn": 0
}
}