sqc 0.4.84

Software Code Quality - CERT C compliance checker
rule,idx,project,file,line,verdict,reason,provenance,confidence
ARR02-C,1,sqlite,ext/fts5/fts5_unicode2.c,32,FP,aDia[] fully brace-initialized so size is fixed by initializer; ARR02 on initialized table is style not a bounds defect,b14-adjudicator,high
ARR02-C,2,sqlite,ext/fts5/fts5_unicode2.c,51,FP,aChar[] fully brace-initialized; explicit size unnecessary and code uses sizeof for bounds,b14-adjudicator,high
STR00-C,3,sqlite,ext/fts5/fts5_unicode2.c,52,FP,unsigned char array with char/HIBIT constants is intentional in generated table; no defect,b14-adjudicator,high
INT14-C,4,sqlite,ext/fts5/fts5_unicode2.c,75,FP,(c<<3) on codepoint is intentional key construction not a real defect; pure style,b14-adjudicator,high
INT31-C,5,sqlite,ext/fts5/fts5_unicode2.c,75,FP,c is a unicode codepoint with documented contract c>=0; (unsigned)c<<3 well defined,b14-adjudicator,high
INT14-C,6,sqlite,ext/fts5/fts5_unicode2.c,77,FP,aDia used in shift and arithmetic is readability-only INT14 advisory; no defect,b14-adjudicator,high
INT32-C,7,sqlite,ext/fts5/fts5_unicode2.c,80,FP,iHi+iLo are binary-search bounds over a 134-entry array; sum far below INT_MAX,b14-adjudicator,high
INT32-C,8,sqlite,ext/fts5/fts5_unicode2.c,83,FP,iTest+1 bounded by tiny array size (<134); cannot overflow,b14-adjudicator,high
INT32-C,9,sqlite,ext/fts5/fts5_unicode2.c,85,FP,iTest-1 bounded by array size; cannot underflow to overflow,b14-adjudicator,high
INT14-C,10,sqlite,ext/fts5/fts5_unicode2.c,89,FP,iRes bitwise+arithmetic is INT14 readability advisory only,b14-adjudicator,high
INT14-C,11,sqlite,ext/fts5/fts5_unicode2.c,103,FP,c bitwise+arithmetic readability advisory only,b14-adjudicator,high
INT30-C,12,sqlite,ext/fts5/fts5_unicode2.c,103,FP,"shift guarded by c<768||c>817 return so c-768 in [0,49]; mask within 32-bit width",b14-adjudicator,high
INT34-C,13,sqlite,ext/fts5/fts5_unicode2.c,103,FP,"c-768 in [0,49] but this branch only when c<800 so amount in [0,31]; valid shift",b14-adjudicator,high
INT34-C,14,sqlite,ext/fts5/fts5_unicode2.c,104,FP,"c-768-32 branch only when c>=800 so amount in [0,17]; non-negative and <32",b14-adjudicator,high
API00-C,15,sqlite,ext/fts5/fts5_unicode2.c,117,FP,API00 style; c is bounded codepoint and arithmetic is guarded by range branches,b14-adjudicator,high
ARR02-C,16,sqlite,ext/fts5/fts5_unicode2.c,139,FP,"aEntry[] fully initialized struct table; size fixed by initializer, sizeof used for bounds",b14-adjudicator,high
ARR02-C,17,sqlite,ext/fts5/fts5_unicode2.c,196,FP,aiOff[] fully initialized; explicit size unnecessary,b14-adjudicator,high
DCL03-C,18,sqlite,ext/fts5/fts5_unicode2.c,211,TP,assert(sizeof(...)==2 && ...) is a compile-time constant expression that could be a static_assert,b14-adjudicator,med
INT14-C,19,sqlite,ext/fts5/fts5_unicode2.c,214,FP,c bitwise+arithmetic INT14 readability advisory,b14-adjudicator,high
ARR00-C,20,sqlite,ext/fts5/fts5_unicode2.c,221,FP,aEntry has 178 entries; aEntry[0].iCode read is in bounds; analyzer misread size as 1,b14-adjudicator,high
INT32-C,21,sqlite,ext/fts5/fts5_unicode2.c,223,FP,iHi+iLo binary-search bounds over 178-entry array; no overflow,b14-adjudicator,high
INT32-C,22,sqlite,ext/fts5/fts5_unicode2.c,227,FP,iTest+1 bounded by array size; no overflow,b14-adjudicator,high
INT32-C,23,sqlite,ext/fts5/fts5_unicode2.c,229,FP,iTest-1 bounded; no overflow,b14-adjudicator,high
INT14-C,24,sqlite,ext/fts5/fts5_unicode2.c,235,FP,p pointer bitwise+arithmetic readability advisory,b14-adjudicator,high
INT14-C,25,sqlite,ext/fts5/fts5_unicode2.c,236,FP,aiOff index expression readability advisory,b14-adjudicator,high
INT32-C,26,sqlite,ext/fts5/fts5_unicode2.c,236,FP,c<65536 in this branch and aiOff entry <=65529; sum masked &0xFFFF; no harmful overflow,b14-adjudicator,high
ARR02-C,27,sqlite,ext/fts5/fts5_unicode2.c,374,FP,aFts5UnicodeBlock[] fully initialized; size fixed by initializer,b14-adjudicator,high
CON03-C,28,sqlite,ext/fts5/fts5_unicode2.c,374,FP,static const-data lookup table read-only at runtime; no thread synchronization needed,b14-adjudicator,high
ARR02-C,29,sqlite,ext/fts5/fts5_unicode2.c,378,FP,aFts5UnicodeMap[] fully initialized read-only table,b14-adjudicator,high
CON03-C,30,sqlite,ext/fts5/fts5_unicode2.c,378,FP,read-only static table; CON03 misfire,b14-adjudicator,high
ARR02-C,31,sqlite,ext/fts5/fts5_unicode2.c,557,FP,aFts5UnicodeData[] fully initialized read-only table,b14-adjudicator,high
CON03-C,32,sqlite,ext/fts5/fts5_unicode2.c,557,FP,read-only static table; no sync needed,b14-adjudicator,high
EXP07-C,33,sqlite,ext/fts5/fts5_unicode2.c,744,FP,1<<20 is the codepoint ceiling constant; EXP07 magic-number style only and it is the load-bearing guard,b14-adjudicator,high
INT14-C,34,sqlite,ext/fts5/fts5_unicode2.c,747,FP,iCode bitwise+arithmetic readability advisory,b14-adjudicator,high
INT32-C,35,sqlite,ext/fts5/fts5_unicode2.c,748,FP,"1+(iCode>>16) bounded by iCode<(1<<20) so >>16 in [0,15]; index <=16 within 17-element block array",b14-adjudicator,high
INT32-C,36,sqlite,ext/fts5/fts5_unicode2.c,751,FP,iHi+iLo binary-search bounds over small map; no overflow,b14-adjudicator,high
INT32-C,37,sqlite,ext/fts5/fts5_unicode2.c,755,FP,iTest+1 bounded; no overflow,b14-adjudicator,high
INT14-C,38,sqlite,ext/fts5/fts5_unicode2.c,762,FP,aFts5UnicodeMap index readability advisory,b14-adjudicator,high
INT14-C,39,sqlite,ext/fts5/fts5_unicode2.c,762,FP,aFts5UnicodeData index readability advisory,b14-adjudicator,high
INT14-C,40,sqlite,ext/fts5/fts5_unicode2.c,762,FP,iRes readability advisory,b14-adjudicator,high
INT14-C,41,sqlite,ext/fts5/fts5_unicode2.c,765,FP,iKey readability advisory,b14-adjudicator,high
API00-C,42,sqlite,ext/fts5/fts5_unicode2.c,768,FP,"API00 style; aArray indexed by 5-bit masked value (0-31), table sized accordingly",b14-adjudicator,high
API00-C,43,sqlite,ext/fts5/fts5_unicode2.c,768,FP,API00 style; aAscii written within i<128 bound,b14-adjudicator,high
DCL13-C,44,sqlite,ext/fts5/fts5_unicode2.c,768,TP,"aArray is only read (aArray[...] at line 772), never written, so it can be declared const u8*",b14-adjudicator,med
INT14-C,45,sqlite,ext/fts5/fts5_unicode2.c,772,FP,iTbl readability advisory,b14-adjudicator,high
INT14-C,46,sqlite,ext/fts5/fts5_unicode2.c,772,FP,aFts5UnicodeData index readability advisory,b14-adjudicator,high
INT32-C,47,sqlite,ext/fts5/fts5_unicode2.c,773,FP,"(data>>5)+i with i<128 and data a u16; n stays small, no overflow",b14-adjudicator,high
INT32-C,48,sqlite,ext/fts5/fts5_unicode2.c,777,FP,iTbl++ bounded by generated table coverage of first 128 codepoints; never near INT_MAX,b14-adjudicator,high