{
"ground_truth": [],
"labels": [
{"rule":"PRE00-C","file":"lcode.c","line":35,"verdict":"FP","confidence":"high","reason":"hasjumps macro args are always simple pointer variables, never side-effecting expressions"},
{"rule":"PRE12-C","file":"lcode.c","line":35,"verdict":"FP","confidence":"high","reason":"hasjumps args are always simple variables; no multiple-evaluation risk at any call site"},
{"rule":"API00-C","file":"lcode.c","line":43,"verdict":"FP","confidence":"high","reason":"internal compiler API; ls/fmt are never NULL; l_noret function; not public API"},
{"rule":"API00-C","file":"lcode.c","line":43,"verdict":"FP","confidence":"high","reason":"internal compiler API; ls/fmt are never NULL; l_noret function; not public API"},
{"rule":"MSC37-C","file":"lcode.c","line":43,"verdict":"FP","confidence":"high","reason":"luaK_semerror is declared l_noret (__attribute__((noreturn))); control never reaches end"},
{"rule":"EXP33-C","file":"lcode.c","line":46,"verdict":"FP","confidence":"high","reason":"argp is initialized by va_start inside pushvfstring macro before use; not uninitialized"},
{"rule":"DCL13-C","file":"lcode.c","line":75,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal struct; not a defect a reviewer would mandate changing"},
{"rule":"API00-C","file":"lcode.c","line":85,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/v are never NULL; not public API"},
{"rule":"API00-C","file":"lcode.c","line":85,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/v are never NULL; not public API"},
{"rule":"DCL13-C","file":"lcode.c","line":117,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal struct; not a mandatory fix"},
{"rule":"API00-C","file":"lcode.c","line":132,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/n are never NULL/invalid at call sites"},
{"rule":"API00-C","file":"lcode.c","line":132,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer parameter overflow advisory only; not a defect"},
{"rule":"EXP34-C","file":"lcode.c","line":135,"verdict":"FP","confidence":"high","reason":"previousinstruction returns pointer to static or heap data, never NULL"},
{"rule":"ARR36-C","file":"lcode.c","line":143,"verdict":"FP","confidence":"high","reason":"pfrom and pl are integers (register indices), not pointers; no pointer subtraction"},
{"rule":"DCL13-C","file":"lcode.c","line":155,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal struct; not a mandatory fix"},
{"rule":"ARR00-C","file":"lcode.c","line":156,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index controlled by jump-list traversal; not untrusted input"},
{"rule":"ARR30-C","file":"lcode.c","line":156,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index controlled by jump-list traversal; not untrusted input"},
{"rule":"ARR37-C","file":"lcode.c","line":160,"verdict":"FP","confidence":"high","reason":"fs->f->code is an array; offset arithmetic is valid pointer arithmetic on it"},
{"rule":"DCL13-C","file":"lcode.c","line":168,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal struct; not a mandatory fix"},
{"rule":"ARR00-C","file":"lcode.c","line":169,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index; not untrusted-input-driven"},
{"rule":"ARR30-C","file":"lcode.c","line":169,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index; not untrusted-input-driven"},
{"rule":"ARR37-C","file":"lcode.c","line":170,"verdict":"FP","confidence":"high","reason":"fs->f->code is an array; pointer arithmetic valid"},
{"rule":"API00-C","file":"lcode.c","line":182,"verdict":"FP","confidence":"high","reason":"internal compiler API; l1 is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":200,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":208,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":208,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory; not a real defect"},
{"rule":"API00-C","file":"lcode.c","line":234,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":245,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal struct; not a mandatory fix"},
{"rule":"DCL00-C","file":"lcode.c","line":246,"verdict":"FP","confidence":"high","reason":"pi is a local pointer used as a return value; const advisory only"},
{"rule":"DCL30-C","file":"lcode.c","line":250,"verdict":"FP","confidence":"high","reason":"pi points into heap (fs->f->code array) or static invalidinstruction; not a dangling local"},
{"rule":"EXP34-C","file":"lcode.c","line":263,"verdict":"FP","confidence":"high","reason":"getjumpcontrol returns pointer into code array or to static variable; never NULL"},
{"rule":"EXP30-C","file":"lcode.c","line":270,"verdict":"FP","confidence":"high","reason":"GETARG_B(*i) and GETARG_k(*i) are pure reads; assignment to *i is after all argument evaluation"},
{"rule":"API00-C","file":"lcode.c","line":308,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":314,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":384,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":399,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"INT13-C","file":"lcode.c","line":402,"verdict":"FP","confidence":"high","reason":"k is constrained to {0,1}; (k & ~1)==0 is a bounds assertion, not a defect"},
{"rule":"API00-C","file":"lcode.c","line":407,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"INT13-C","file":"lcode.c","line":410,"verdict":"FP","confidence":"high","reason":"k is constrained to {0,1}; bitwise check is intentional and safe"},
{"rule":"API00-C","file":"lcode.c","line":418,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"INT13-C","file":"lcode.c","line":442,"verdict":"FP","confidence":"high","reason":"k is constrained to {0,1}; bitwise check is intentional and safe"},
{"rule":"API00-C","file":"lcode.c","line":476,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":476,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory only"},
{"rule":"API00-C","file":"lcode.c","line":488,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":488,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory only"},
{"rule":"DCL13-C","file":"lcode.c","line":525,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"DCL13-C","file":"lcode.c","line":535,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"DCL13-C","file":"lcode.c","line":535,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"EXP33-C","file":"lcode.c","line":702,"verdict":"FP","confidence":"high","reason":"fi is set by luaV_flttointeger only when it returns true; read only in that path"},
{"rule":"API00-C","file":"lcode.c","line":715,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":715,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":715,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory only"},
{"rule":"API00-C","file":"lcode.c","line":757,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":757,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":757,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory only"},
{"rule":"API00-C","file":"lcode.c","line":792,"verdict":"FP","confidence":"high","reason":"internal compiler API; e is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":808,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":808,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var are never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":808,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"API00-C","file":"lcode.c","line":819,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":819,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"MEM30-C","file":"lcode.c","line":846,"verdict":"FP","confidence":"high","reason":"e->u.ind.t is a lu_byte register index (integer); freereg releases a slot, not heap memory"},
{"rule":"MEM30-C","file":"lcode.c","line":851,"verdict":"FP","confidence":"high","reason":"freereg/freeregs release register slots, not heap pointers; no double-free"},
{"rule":"MEM30-C","file":"lcode.c","line":852,"verdict":"FP","confidence":"high","reason":"e->u.ind.t is a register index integer; sqc misidentifies slot-release as heap-free"},
{"rule":"MEM30-C","file":"lcode.c","line":858,"verdict":"FP","confidence":"high","reason":"e->u.ind.t is an integer register index; no heap free involved"},
{"rule":"MEM30-C","file":"lcode.c","line":858,"verdict":"FP","confidence":"high","reason":"e->u.ind.idx is a short register index; no heap free involved"},
{"rule":"MEM30-C","file":"lcode.c","line":863,"verdict":"FP","confidence":"high","reason":"freeregs releases register slots; e->u.ind.idx is an integer, not a heap pointer"},
{"rule":"MEM30-C","file":"lcode.c","line":864,"verdict":"FP","confidence":"high","reason":"e->u.ind.t/idx are integer register indices; no heap free occurs"},
{"rule":"MEM30-C","file":"lcode.c","line":864,"verdict":"FP","confidence":"high","reason":"e->u.ind.idx is a short integer register index; no heap free occurs"},
{"rule":"API00-C","file":"lcode.c","line":999,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":999,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"MEM30-C","file":"lcode.c","line":1003,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot; 'e' is stack-allocated expdesc, not heap-freed"},
{"rule":"API00-C","file":"lcode.c","line":1011,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1011,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1043,"verdict":"FP","confidence":"high","reason":"internal compiler API; e is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1105,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var/ex are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1105,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var/ex are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1105,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/var/ex are never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":1105,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"MEM30-C","file":"lcode.c","line":1109,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot; 'ex' is not heap-allocated; no heap-free occurs"},
{"rule":"DCL00-C","file":"lcode.c","line":1113,"verdict":"FP","confidence":"high","reason":"advisory const-qualifying local; not a defect"},
{"rule":"MEM30-C","file":"lcode.c","line":1113,"verdict":"FP","confidence":"high","reason":"freeexp releases register slots, not heap; 'ex' expdesc is stack-allocated"},
{"rule":"MEM30-C","file":"lcode.c","line":1118,"verdict":"FP","confidence":"high","reason":"codeABRK calls freeexp/freeregs; no heap free; ex is not a heap pointer"},
{"rule":"MEM30-C","file":"lcode.c","line":1122,"verdict":"FP","confidence":"high","reason":"codeABRK calls freeexp/freeregs; no heap free; ex is not a heap pointer"},
{"rule":"MEM30-C","file":"lcode.c","line":1126,"verdict":"FP","confidence":"high","reason":"codeABRK calls freeexp/freeregs; no heap free; ex is not a heap pointer"},
{"rule":"MEM30-C","file":"lcode.c","line":1134,"verdict":"FP","confidence":"high","reason":"codeABRK calls freeexp/freeregs; no heap free; ex is not a heap pointer"},
{"rule":"MEM30-C","file":"lcode.c","line":1139,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot index; no heap free; no double-free"},
{"rule":"DCL13-C","file":"lcode.c","line":1146,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"EXP34-C","file":"lcode.c","line":1148,"verdict":"FP","confidence":"high","reason":"getjumpcontrol returns pointer into code array or static variable; never NULL"},
{"rule":"MEM30-C","file":"lcode.c","line":1171,"verdict":"FP","confidence":"high","reason":"discharge2anyreg/freeexp release register slots; 'e' is stack-allocated expdesc"},
{"rule":"MEM30-C","file":"lcode.c","line":1171,"verdict":"FP","confidence":"high","reason":"e->u.info is an integer register number; reading it after freeexp is valid"},
{"rule":"MEM30-C","file":"lcode.c","line":1171,"verdict":"FP","confidence":"high","reason":"e->u.info is an integer register number; reading it after freeexp is valid"},
{"rule":"API00-C","file":"lcode.c","line":1178,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1178,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"MEM30-C","file":"lcode.c","line":1249,"verdict":"FP","confidence":"high","reason":"discharge2anyreg/freeexp release register slots; 'e' is stack-allocated expdesc"},
{"rule":"MEM30-C","file":"lcode.c","line":1249,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot; 'e' pointer is still valid stack memory"},
{"rule":"MEM30-C","file":"lcode.c","line":1249,"verdict":"FP","confidence":"high","reason":"e->u.info is integer register index; valid to read after freeexp"},
{"rule":"MEM30-C","file":"lcode.c","line":1249,"verdict":"FP","confidence":"high","reason":"e->u.info is integer register index; valid to read after freeexp"},
{"rule":"MEM30-C","file":"lcode.c","line":1256,"verdict":"FP","confidence":"high","reason":"e->f and e->t are integer jump-list indices in the expdesc struct; no heap free"},
{"rule":"MEM30-C","file":"lcode.c","line":1256,"verdict":"FP","confidence":"high","reason":"e->f and e->t are integer fields; no heap free involved"},
{"rule":"MEM30-C","file":"lcode.c","line":1257,"verdict":"FP","confidence":"high","reason":"freeexp releases register slots; 'e' is stack-allocated; no heap-free"},
{"rule":"MEM30-C","file":"lcode.c","line":1257,"verdict":"FP","confidence":"high","reason":"e->f is an integer jump-list index; valid to read after register-slot free"},
{"rule":"MEM30-C","file":"lcode.c","line":1258,"verdict":"FP","confidence":"high","reason":"freeexp releases register slots; 'e' is stack-allocated; no heap-free"},
{"rule":"MEM30-C","file":"lcode.c","line":1258,"verdict":"FP","confidence":"high","reason":"e->t is an integer jump-list index; valid to read after register-slot free"},
{"rule":"API00-C","file":"lcode.c","line":1321,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e/key are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1321,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e/key are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1321,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e/key are never NULL at call sites"},
{"rule":"MEM30-C","file":"lcode.c","line":1326,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot; e->u.info is set next line; 'e' is still valid"},
{"rule":"API00-C","file":"lcode.c","line":1357,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/t/k are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1357,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/t/k are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1357,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/t/k are never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":1419,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"DCL15-C","file":"lcode.c","line":1443,"verdict":"FP","confidence":"high","reason":"binopr2op is declared l_sinline = static inline; already has static linkage"},
{"rule":"DCL19-C","file":"lcode.c","line":1443,"verdict":"FP","confidence":"high","reason":"binopr2op is declared l_sinline = static inline; already file-scoped"},
{"rule":"DCL15-C","file":"lcode.c","line":1454,"verdict":"FP","confidence":"high","reason":"unopr2op is declared l_sinline = static inline; already has static linkage"},
{"rule":"DCL19-C","file":"lcode.c","line":1454,"verdict":"FP","confidence":"high","reason":"unopr2op is declared l_sinline = static inline; already file-scoped"},
{"rule":"DCL15-C","file":"lcode.c","line":1463,"verdict":"FP","confidence":"high","reason":"binopr2TM is declared l_sinline = static inline; already has static linkage"},
{"rule":"DCL19-C","file":"lcode.c","line":1463,"verdict":"FP","confidence":"high","reason":"binopr2TM is declared l_sinline = static inline; already file-scoped"},
{"rule":"DCL00-C","file":"lcode.c","line":1475,"verdict":"FP","confidence":"high","reason":"advisory const-qualifying local r; not a defect"},
{"rule":"MEM30-C","file":"lcode.c","line":1477,"verdict":"FP","confidence":"high","reason":"freeexp releases a register slot; e->u.info is an integer; no heap free"},
{"rule":"MEM33-C","file":"lcode.c","line":1566,"verdict":"FP","confidence":"high","reason":"expdesc has no flexible array member; struct assignment is correct and intentional swap"},
{"rule":"EXP33-C","file":"lcode.c","line":1643,"verdict":"FP","confidence":"high","reason":"im is set by isSCnumber; r2=im used only when isSCnumber returned true; provably initialized"},
{"rule":"EXP33-C","file":"lcode.c","line":1679,"verdict":"FP","confidence":"high","reason":"im is set by isSCnumber; r2=im used only when isSCnumber returned true; provably initialized"},
{"rule":"API00-C","file":"lcode.c","line":1698,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1698,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/e are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1719,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/v are never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1719,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs/v are never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":1768,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"EXP34-C","file":"lcode.c","line":1770,"verdict":"FP","confidence":"high","reason":"previousinstruction returns pointer to code array or static variable; never NULL"},
{"rule":"MEM33-C","file":"lcode.c","line":1797,"verdict":"FP","confidence":"high","reason":"expdesc has no flexible array member; *e1=*e2 is correct struct assignment"},
{"rule":"MEM33-C","file":"lcode.c","line":1803,"verdict":"FP","confidence":"high","reason":"expdesc has no flexible array member; *e1=*e2 is correct struct assignment"},
{"rule":"PRE30-C","file":"lcode.c","line":1808,"verdict":"FP","confidence":"high","reason":"codeconcat is a function call, not a token-pasting macro; no UCN creation risk"},
{"rule":"API00-C","file":"lcode.c","line":1869,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1875,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"DCL13-C","file":"lcode.c","line":1875,"verdict":"FP","confidence":"high","reason":"advisory const-param; not a mandatory fix"},
{"rule":"ARR00-C","file":"lcode.c","line":1876,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index passed from code generator; not untrusted input"},
{"rule":"ARR30-C","file":"lcode.c","line":1876,"verdict":"FP","confidence":"high","reason":"pc is an internal PC index passed from code generator; not untrusted input"},
{"rule":"INT10-C","file":"lcode.c","line":1878,"verdict":"FP","confidence":"high","reason":"asize is a table constructor element count; always non-negative; modulo result is non-negative"},
{"rule":"ARR37-C","file":"lcode.c","line":1882,"verdict":"FP","confidence":"high","reason":"inst is a pointer into fs->f->code array; inst+1 is valid array pointer arithmetic"},
{"rule":"API00-C","file":"lcode.c","line":1893,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"API00-C","file":"lcode.c","line":1893,"verdict":"FP","confidence":"high","reason":"internal compiler API; integer param advisory only"},
{"rule":"DCL13-C","file":"lcode.c","line":1912,"verdict":"FP","confidence":"high","reason":"advisory const-param on internal function parameter; not a mandatory fix"},
{"rule":"ARR00-C","file":"lcode.c","line":1914,"verdict":"FP","confidence":"high","reason":"count is initialized to 0 by the for-loop init expression; not uninitialized"},
{"rule":"API00-C","file":"lcode.c","line":1930,"verdict":"FP","confidence":"high","reason":"internal compiler API; fs is never NULL at call sites"},
{"rule":"INT13-C","file":"lcode.c","line":1933,"verdict":"FP","confidence":"high","reason":"p->flag is lu_byte; bitwise ops on byte flags are intentional Lua idiom; not a defect"},
{"rule":"INT14-C","file":"lcode.c","line":1933,"verdict":"FP","confidence":"high","reason":"p is a Proto pointer; finding misidentifies pointer-deref chain as mixed bitwise/arith on same var"},
{"rule":"ARR37-C","file":"lcode.c","line":1937,"verdict":"FP","confidence":"high","reason":"pc = &p->code[i]; pc-1 is valid arithmetic on array element pointer"},
{"rule":"CON43-C","file":"lcode.c","line":1938,"verdict":"FP","confidence":"high","reason":"single-threaded code generator; no concurrency; dereferencing pc in switch is not a double-fetch"},
{"rule":"INT13-C","file":"lcode.c","line":1940,"verdict":"FP","confidence":"high","reason":"p->flag is lu_byte; bitwise flag operations are intentional Lua idiom"},
{"rule":"INT13-C","file":"lcode.c","line":1948,"verdict":"FP","confidence":"high","reason":"p->flag is lu_byte; bitwise flag operations are intentional Lua idiom"},
{"rule":"INT13-C","file":"lcode.c","line":1953,"verdict":"FP","confidence":"high","reason":"p->flag is lu_byte; bitwise flag operations are intentional Lua idiom"},
{"rule":"INT13-C","file":"lcode.c","line":1958,"verdict":"FP","confidence":"high","reason":"p->flag is lu_byte; bitwise flag operations are intentional Lua idiom"}
],
"fns": [],
"files_reviewed": ["lcode.c"],
"files_clean": ["lcode.c"],
"summary": {
"ground_truth": 0,
"tp": 0,
"fp": 152,
"fn": 0
}
}