Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING: [#def1]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:413:30: warning[-Wanalyzer-imprecise-fp-arithmetic]: use of floating-point arithmetic here might yield unexpected results
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:529:3: enter_function: entry to ‘grid_status_draw_outline’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:543:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:546:54: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:554:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:557:16: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:585:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:593:10: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:596:15: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:598:10: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:600:9: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:600:9: call_function: calling ‘bitmap_scale’ from ‘grid_status_draw_outline’
#  411|       /* limit bitmap size */
#  412|       if ( pitch * scale <= 0xFFFF && bit->rows * scale <= 0xFFFF )
#  413|->       line = (unsigned char*)malloc( (size_t)( pitch * bit->rows *
#  414|                                                  scale * scale ) );
#  415|       else

Error: GCC_ANALYZER_WARNING (CWE-457): [#def2]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:430:15: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:412:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:420:8: branch_false: following ‘false’ branch (when ‘line’ is non-NULL)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:423:13: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:428:24: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:429:20: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:429:16: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:430:20: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:430:15: danger: use of uninitialized value ‘*<unknown>’ here
#  428|             for ( j = 0; j < pitch * scale * 8; j++ )
#  429|               if ( s[i * pitch + j / scale / 8] & ( 0x80 >> ( j / scale & 7 ) ) )
#  430|->               line[j / 8] |= 0x80 >> ( j & 7 );
#  431|               else
#  432|                 line[j / 8] &= ~( 0x80 >> ( j & 7 ) );

Error: GCC_ANALYZER_WARNING (CWE-457): [#def3]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:432:15: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:412:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:420:8: branch_false: following ‘false’ branch (when ‘line’ is non-NULL)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:423:13: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:428:24: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:429:20: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:429:16: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:432:20: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:432:15: danger: use of uninitialized value ‘*<unknown>’ here
#  430|                 line[j / 8] |= 0x80 >> ( j & 7 );
#  431|               else
#  432|->               line[j / 8] &= ~( 0x80 >> ( j & 7 ) );
#  433|   
#  434|             for ( k = 1; k < scale; k++, line += pitch * scale )

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:435:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘line’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:412:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:420:8: branch_false: following ‘false’ branch (when ‘line’ is non-NULL)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:423:13: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:426:22: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:428:24: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:428:24: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:434:24: branch_true: following ‘true’ branch (when ‘k < scale’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:435:13: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:435:13: danger: use of uninitialized value ‘line’ here
#  433|   
#  434|             for ( k = 1; k < scale; k++, line += pitch * scale )
#  435|->             memcpy( line + pitch * scale, line, (size_t)( pitch * scale ) );
#  436|             line += pitch * scale;
#  437|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def5]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:473:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘line’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:412:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:420:8: branch_false: following ‘false’ branch (when ‘line’ is non-NULL)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:423:13: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:460:12: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:460:12: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:462:22: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:462:22: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:472:24: branch_true: following ‘true’ branch (when ‘k < scale’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:473:13: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:473:13: danger: use of uninitialized value ‘line’ here
#  471|   
#  472|             for ( k = 1; k < scale; k++, line += pitch * scale )
#  473|->             memcpy( line + pitch * scale, line, (size_t)( pitch * scale ) );
#  474|             line += pitch * scale;
#  475|           }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def6]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:513:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘line’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:412:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:420:8: branch_false: following ‘false’ branch (when ‘line’ is non-NULL)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:423:13: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:503:22: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:506:46: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:512:24: branch_true: following ‘true’ branch (when ‘k < scale’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:513:13: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:513:13: danger: use of uninitialized value ‘line’ here
#  511|   
#  512|             for ( k = 1; k < scale; k++, line += pitch * scale )
#  513|->             memcpy( line + pitch * scale, line, (size_t)( pitch * scale ) );
#  514|             line += pitch * scale;
#  515|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:602:9: warning[-Wanalyzer-malloc-leak]: leak of ‘bitg.buffer’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:529:3: enter_function: entry to ‘grid_status_draw_outline’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:543:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:546:54: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:554:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:557:16: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:585:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:593:10: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:596:15: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:598:10: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:600:9: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:600:9: call_function: calling ‘bitmap_scale’ from ‘grid_status_draw_outline’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:600:9: return_function: returning to ‘grid_status_draw_outline’ from ‘bitmap_scale’
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:602:9: throw: if ‘grBlitGlyphToSurface’ throws an exception...
freetype-2.13.3/ft2demos-2.13.3/src/ftgrid.c:602:9: danger: ‘bitg.buffer’ leaks here; was allocated at [(16)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/15)
#  600|           bitmap_scale( st, &bitg, scale );
#  601|   
#  602|->         grBlitGlyphToSurface( display->surface, &bitg,
#  603|                                 ox + left * scale, oy - top * scale,
#  604|                                 st->axis_color );

Error: GCC_ANALYZER_WARNING (CWE-688): [#def8]
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:654:13: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:903:3: enter_function: entry to ‘main’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:921:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:925:5: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:939:18: branch_true: following ‘true’ branch (when ‘n != 2’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:943:55: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1010:8: branch_false: following ‘false’ branch (when ‘argc != 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1013:8: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1030:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1032:7: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1111:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: call_function: calling ‘Init_Display’ from ‘main’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: return_function: returning to ‘main’ from ‘Init_Display’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1114:8: branch_false: following ‘false’ branch (when ‘file_loaded == 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1114:8: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1137:10: branch_false: following ‘false’ branch (when ‘file_loaded == 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1220:9: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1226:21: call_function: calling ‘Process_Event’ from ‘main’
#  652|   
#  653|       case grKeyF6:
#  654|->       if ( !strcmp( font_format, "CFF" ) )
#  655|           FTDemo_Event_Cff_Hinting_Engine_Change( library,
#  656|                                                   &cff_hinting_engine,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:801:14: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:903:3: enter_function: entry to ‘main’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:921:8: branch_false: following ‘false’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:925:5: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:939:18: branch_true: following ‘true’ branch (when ‘n != 2’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:943:55: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1010:8: branch_false: following ‘false’ branch (when ‘argc != 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1013:8: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1030:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1032:7: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1111:8: branch_true: following ‘true’ branch...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: branch_true: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: call_function: calling ‘Init_Display’ from ‘main’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1112:7: return_function: returning to ‘main’ from ‘Init_Display’
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1114:8: branch_false: following ‘false’ branch (when ‘file_loaded == 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1114:8: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1137:10: branch_false: following ‘false’ branch (when ‘file_loaded == 0’)...
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1220:9: branch_false: ...to here
freetype-2.13.3/ft2demos-2.13.3/src/ftmulti.c:1226:21: call_function: calling ‘Process_Event’ from ‘main’
#  799|         /* convert to real axis index */
#  800|         axis = (unsigned int)shown_axes[axis];
#  801|->       a    = multimaster->axis + axis;
#  802|   
#  803|         rng = a->maximum - a->minimum;

Error: CPPCHECK_WARNING (CWE-758): [#def10]
freetype-2.13.3/include/freetype/internal/ftcalc.h:202: error[shiftTooManyBitsSigned]: Shifting signed 64-bit value by 63 bits is undefined behaviour
#  200|   
#  201|       ret  = (long long)a * b;
#  202|->     tmp  = ret >> 63;
#  203|       ret += 0x8000 + tmp;
#  204|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
freetype-2.13.3/src/base/ftobjs.c:5128:5: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
freetype-2.13.3/src/base/ftobjs.c:5075:3: enter_function: entry to 'FT_Add_Module'
freetype-2.13.3/src/base/ftobjs.c:5087:8: branch_false: following 'false' branch (when 'library' is non-NULL)...
freetype-2.13.3/src/base/ftobjs.c:5090:8: branch_false: ...to here
freetype-2.13.3/src/base/ftobjs.c:5090:8: branch_false: following 'false' branch (when 'clazz' is non-NULL)...
freetype-2.13.3/src/base/ftobjs.c:5094:10: branch_false: ...to here
freetype-2.13.3/src/base/ftobjs.c:5094:8: branch_false: following 'false' branch...
freetype-2.13.3/src/base/ftobjs.c:5094:8: branch_false: ...to here
freetype-2.13.3/src/base/ftobjs.c:5117:8: branch_false: following 'false' branch...
freetype-2.13.3/src/base/ftobjs.c:5124:10: branch_false: ...to here
freetype-2.13.3/src/base/ftobjs.c:5124:10: call_function: calling 'ft_mem_alloc' from 'FT_Add_Module'
freetype-2.13.3/src/base/ftobjs.c:5124:10: return_function: returning to 'FT_Add_Module' from 'ft_mem_alloc'
freetype-2.13.3/src/base/ftobjs.c:5124:8: branch_false: following 'false' branch...
freetype-2.13.3/src/base/ftobjs.c:5128:5: branch_false: ...to here
freetype-2.13.3/src/base/ftobjs.c:5128:5: danger: dereference of NULL 'ft_mem_alloc(memory, *clazz.module_size, & error)'
# 5126|   
# 5127|       /* base initialization */
# 5128|->     module->library = library;
# 5129|       module->memory  = memory;
# 5130|       module->clazz   = (FT_Module_Class*)clazz;

Error: GCC_ANALYZER_WARNING (CWE-126): [#def12]
freetype-2.13.3/src/bdf/bdflib.c:1226:10: warning[-Wanalyzer-out-of-bounds]: buffer over-read
freetype-2.13.3/src/bdf/bdflib.c:1760:3: enter_function: entry to 'bdf_parse_properties_'
freetype-2.13.3/src/bdf/bdflib.c:1781:10: branch_false: following 'false' branch...
freetype-2.13.3/src/bdf/bdflib.c:1781:10: branch_false: ...to here
freetype-2.13.3/src/bdf/bdflib.c:1789:10: branch_true: following 'true' branch...
freetype-2.13.3/src/bdf/bdflib.c:1791:32: branch_true: ...to here
freetype-2.13.3/src/bdf/bdflib.c:1793:17: call_function: calling 'bdf_add_property_' from 'bdf_parse_properties_'
# 1224|       /* present, and the SPACING property should override the default       */
# 1225|       /* spacing.                                                            */
# 1226|->     if ( _bdf_strncmp( name, "DEFAULT_CHAR", 12 ) == 0 )
# 1227|         font->default_char = fp->value.ul;
# 1228|       else if ( _bdf_strncmp( name, "FONT_ASCENT", 11 ) == 0 )

Error: GCC_ANALYZER_WARNING (CWE-126): [#def13]
freetype-2.13.3/src/bdf/bdflib.c:1230:15: warning[-Wanalyzer-out-of-bounds]: buffer over-read
freetype-2.13.3/src/bdf/bdflib.c:1760:3: enter_function: entry to 'bdf_parse_properties_'
freetype-2.13.3/src/bdf/bdflib.c:1781:10: branch_false: following 'false' branch...
freetype-2.13.3/src/bdf/bdflib.c:1781:10: branch_false: ...to here
freetype-2.13.3/src/bdf/bdflib.c:1789:10: branch_true: following 'true' branch...
freetype-2.13.3/src/bdf/bdflib.c:1791:32: branch_true: ...to here
freetype-2.13.3/src/bdf/bdflib.c:1793:17: call_function: calling 'bdf_add_property_' from 'bdf_parse_properties_'
# 1228|       else if ( _bdf_strncmp( name, "FONT_ASCENT", 11 ) == 0 )
# 1229|         font->font_ascent = fp->value.l;
# 1230|->     else if ( _bdf_strncmp( name, "FONT_DESCENT", 12 ) == 0 )
# 1231|         font->font_descent = fp->value.l;
# 1232|       else if ( _bdf_strncmp( name, "SPACING", 7 ) == 0 )

Error: COMPILER_WARNING: [#def14]
freetype-2.13.3/src/smooth/ftgrays.c:1879:26: warning[-Wdangling-pointer=]: storing the address of local variable 'buffer' in 'worker_52(D)->cell_null'
# 1879 |     ras.cell_null        = buffer + FT_MAX_GRAY_POOL - 1;
#      |                          ^
freetype-2.13.3/src/smooth/ftgrays.c:1868:14: note: 'buffer' declared here
# 1868 |     TCell    buffer[FT_MAX_GRAY_POOL];
#      |              ^~~~~~
freetype-2.13.3/src/smooth/ftgrays.c:316:33: note: 'worker' declared here
#  316 | #define RAS_ARG   gray_PWorker  worker
#      |                   ~~~~~~~~~~~~~~^~~~~~
# 1877|   
# 1878|       /* Initialize the null cell at the end of the poll. */
# 1879|->     ras.cell_null        = buffer + FT_MAX_GRAY_POOL - 1;
# 1880|       ras.cell_null->x     = CELL_MAX_X_VALUE;
# 1881|       ras.cell_null->area  = 0;

Error: COMPILER_WARNING: [#def15]
freetype-2.13.3/src/smooth/smooth.c:21: included_from: Included from here.
freetype-2.13.3/src/smooth/ftgrays.c: scope_hint: In function 'gray_convert_glyph'
freetype-2.13.3/src/smooth/ftgrays.c:1886:20: warning[-Wdangling-pointer=]: storing the address of local variable 'buffer' in 'worker_71(D)->ycells'
# 1886 |     ras.ycells     = (PCell*)buffer;
#      |                    ^
freetype-2.13.3/src/smooth/ftgrays.c:1868:14: note: 'buffer' declared here
# 1868 |     TCell    buffer[FT_MAX_GRAY_POOL];
#      |              ^~~~~~
freetype-2.13.3/src/smooth/ftgrays.c:316:33: note: 'worker' declared here
#  316 | #define RAS_ARG   gray_PWorker  worker
#      |                   ~~~~~~~~~~~~~~^~~~~~
# 1884|   
# 1885|       /* set up vertical bands */
# 1886|->     ras.ycells     = (PCell*)buffer;
# 1887|   
# 1888|       if ( height > n )

Error: CPPCHECK_WARNING (CWE-562): [#def16]
freetype-2.13.3/src/tools/apinames.c:213: error[invalidLifetime]: Using pointer to local variable 'temp' that is out of scope.
#  211|         for ( nn = 0; nn < num_names; nn++ )
#  212|           fprintf( out, "++_%s.%s.%s\n",
#  213|->                       the_names[nn].name, dll_name, the_names[nn].name );
#  214|       }
#  215|   

Error: COMPILER_WARNING: [#def17]
freetype-2.13.3/src/truetype/truetype.c:22: included_from: Included from here.
freetype-2.13.3/src/truetype/ttgload.c: scope_hint: In function 'load_truetype_glyph'
freetype-2.13.3/src/truetype/ttgload.c:1506:22: warning[-Wdangling-pointer=]: storing the address of local variable 'inc_stream' in 'loader_325(D)->stream'
# 1506 |       loader->stream = &inc_stream;
#      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
freetype-2.13.3/src/truetype/ttgload.c:1439:21: note: 'inc_stream' declared here
# 1439 |     FT_StreamRec    inc_stream;
#      |                     ^~~~~~~~~~
freetype-2.13.3/src/truetype/ttgload.c:1425:35: note: 'loader' declared here
# 1425 |   load_truetype_glyph( TT_Loader  loader,
#      |                        ~~~~~~~~~~~^~~~~~
# 1504|                               glyph_data.length );
# 1505|   
# 1506|->       loader->stream = &inc_stream;
# 1507|       }
# 1508|       else

Error: GCC_ANALYZER_WARNING (CWE-476): [#def18]
freetype-2.13.3/src/truetype/ttgxvar.c:2794:12: warning[-Wanalyzer-null-dereference]: dereference of NULL 'coords'
freetype-2.13.3/src/truetype/ttgxvar.c:3236:3: enter_function: entry to 'TT_Get_Var_Design'
freetype-2.13.3/src/truetype/ttgxvar.c:3246:8: branch_false: following 'false' branch...
freetype-2.13.3/src/truetype/ttgxvar.c:3252:5: branch_false: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3254:8: branch_true: following 'true' branch...
freetype-2.13.3/src/truetype/ttgxvar.c:3258:12: branch_true: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3258:12: call_function: calling 'tt_set_mm_blend' from 'TT_Get_Var_Design'
# 2792|       {
# 2793|         FT_TRACE5(( "    %.5f\n", (double)coords[i] / 65536 ));
# 2794|->       if ( coords[i] < -0x00010000L || coords[i] > 0x00010000L )
# 2795|         {
# 2796|           FT_TRACE1(( "TT_Set_MM_Blend: normalized design coordinate %.5f\n",

Error: GCC_ANALYZER_WARNING (CWE-476): [#def19]
freetype-2.13.3/src/truetype/ttgxvar.c:3143:18: warning[-Wanalyzer-null-dereference]: dereference of NULL 'n'
freetype-2.13.3/src/truetype/ttgxvar.c:3311:3: enter_function: entry to 'TT_Set_Named_Instance'
freetype-2.13.3/src/truetype/ttgxvar.c:3324:8: branch_false: following 'false' branch...
freetype-2.13.3/src/truetype/ttgxvar.c:3330:5: branch_false: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3336:8: branch_false: following 'false' branch (when 'num_instances >= instance_index')...
freetype-2.13.3/src/truetype/ttgxvar.c:3342:8: branch_false: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3342:8: branch_false: following 'false' branch (when 'instance_index == 0')...
freetype-2.13.3/src/truetype/ttgxvar.c:3370:7: branch_false: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3371:10: branch_false: following 'false' branch...
freetype-2.13.3/src/truetype/ttgxvar.c:3373:15: branch_false: ...to here
freetype-2.13.3/src/truetype/ttgxvar.c:3373:15: call_function: calling 'TT_Set_Var_Design' from 'TT_Set_Named_Instance'
# 3141|       for ( i = 0; i < num_coords; i++, n++, c++ )
# 3142|       {
# 3143|->       if ( *c != *n )
# 3144|         {
# 3145|           *c        = *n;

Error: CPPCHECK_WARNING (CWE-758): [#def20]
freetype-2.13.3/src/truetype/ttinterp.c:1243: error[shiftTooManyBitsSigned]: Shifting signed 64-bit value by 63 bits is undefined behaviour
# 1241|       /* will actually preserve the sign bit.  The exact behaviour is    */
# 1242|       /* undefined, but this is true on x86 and x86_64.                  */
# 1243|->     long long  tmp = ret >> 63;
# 1244|   
# 1245|   

Error: CPPCHECK_WARNING (CWE-758): [#def21]
freetype-2.13.3/src/truetype/ttinterp.c:1323: error[shiftTooManyBitsSigned]: Shifting signed 64-bit value by 63 bits is undefined behaviour
# 1321|   
# 1322|       temp1 += temp2;
# 1323|->     temp2  = temp1 >> 63;
# 1324|       temp1 += 0x2000 + temp2;
# 1325|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def22]
freetype-2.13.3/src/type1/t1load.c:416:9: warning[-Wanalyzer-null-dereference]: dereference of NULL 'coords'
freetype-2.13.3/src/type1/t1load.c:638:3: enter_function: entry to 'T1_Reset_MM_Blend'
freetype-2.13.3/src/type1/t1load.c:643:12: call_function: inlined call to 'T1_Set_MM_Blend' from 'T1_Reset_MM_Blend'
#  414|   
#  415|           /* get current blend axis position */
#  416|->         factor = coords[m];
#  417|           if ( ( n & ( 1 << m ) ) == 0 )
#  418|             factor = 0x10000L - factor;

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.92.0
diffbase-analyzer-version-cppcheck2.19.1
diffbase-analyzer-version-gcc16.0.0
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-171.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namefreetype-2.14.1-1.fc44
diffbase-store-results-to/tmp/tmps104nlfc/freetype-2.14.1-1.fc44.tar.xz
diffbase-time-created2026-01-08 16:13:36
diffbase-time-finished2026-01-08 16:16:10
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmps104nlfc/freetype-2.14.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmps104nlfc/freetype-2.14.1-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-171.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namefreetype-2.13.3-3.fc43
store-results-to/tmp/tmpeyzmte5h/freetype-2.13.3-3.fc43.tar.xz
time-created2026-01-08 16:10:12
time-finished2026-01-08 16:13:09
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpeyzmte5h/freetype-2.13.3-3.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpeyzmte5h/freetype-2.13.3-3.fc43.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9