Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp
Examining data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.h
Examining data/aggdraw-1.3.12/agg2/include/agg_alpha_mask_u8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_arc.h
Examining data/aggdraw-1.3.12/agg2/include/agg_array.h
Examining data/aggdraw-1.3.12/agg2/include/agg_arrowhead.h
Examining data/aggdraw-1.3.12/agg2/include/agg_basics.h
Examining data/aggdraw-1.3.12/agg2/include/agg_bezier_arc.h
Examining data/aggdraw-1.3.12/agg2/include/agg_bitset_iterator.h
Examining data/aggdraw-1.3.12/agg2/include/agg_bounding_rect.h
Examining data/aggdraw-1.3.12/agg2/include/agg_bspline.h
Examining data/aggdraw-1.3.12/agg2/include/agg_clip_liang_barsky.h
Examining data/aggdraw-1.3.12/agg2/include/agg_color_rgba.h
Examining data/aggdraw-1.3.12/agg2/include/agg_color_rgba8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_adaptor_vcgen.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_adaptor_vpgen.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_bspline.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_clip_polygon.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_close_polygon.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_concat.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_contour.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_curve.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_dash.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_gpc.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_marker.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_marker_adaptor.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_segmentator.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_shorten_path.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_smooth_poly1.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_stroke.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_transform.h
Examining data/aggdraw-1.3.12/agg2/include/agg_conv_unclose_polygon.h
Examining data/aggdraw-1.3.12/agg2/include/agg_curves.h
Examining data/aggdraw-1.3.12/agg2/include/agg_dda_line.h
Examining data/aggdraw-1.3.12/agg2/include/agg_ellipse.h
Examining data/aggdraw-1.3.12/agg2/include/agg_ellipse_bresenham.h
Examining data/aggdraw-1.3.12/agg2/include/agg_embedded_raster_fonts.h
Examining data/aggdraw-1.3.12/agg2/include/agg_font_cache_manager.h
Examining data/aggdraw-1.3.12/agg2/include/agg_gamma_functions.h
Examining data/aggdraw-1.3.12/agg2/include/agg_gamma_lut.h
Examining data/aggdraw-1.3.12/agg2/include/agg_glyph_raster_bin.h
Examining data/aggdraw-1.3.12/agg2/include/agg_gray8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_gsv_text.h
Examining data/aggdraw-1.3.12/agg2/include/agg_image_filters.h
Examining data/aggdraw-1.3.12/agg2/include/agg_line_aa_basics.h
Examining data/aggdraw-1.3.12/agg2/include/agg_math.h
Examining data/aggdraw-1.3.12/agg2/include/agg_path_storage.h
Examining data/aggdraw-1.3.12/agg2/include/agg_path_storage_integer.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pattern_filters_rgba8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_amask_adaptor.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_gray8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgb24.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgb24_gamma.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgb24_pre.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgb555.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgb565.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgba32.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgba32_plain.h
Examining data/aggdraw-1.3.12/agg2/include/agg_pixfmt_rgba32_pre.h
Examining data/aggdraw-1.3.12/agg2/include/agg_rasterizer_outline.h
Examining data/aggdraw-1.3.12/agg2/include/agg_rasterizer_outline_aa.h
Examining data/aggdraw-1.3.12/agg2/include/agg_rasterizer_scanline_aa.h
Examining data/aggdraw-1.3.12/agg2/include/agg_render_scanlines.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_base.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_markers.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_mclip.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_outline_aa.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_outline_image.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_primitives.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_raster_text.h
Examining data/aggdraw-1.3.12/agg2/include/agg_renderer_scanline.h
Examining data/aggdraw-1.3.12/agg2/include/agg_rendering_buffer.h
Examining data/aggdraw-1.3.12/agg2/include/agg_rounded_rect.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_bin.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_boolean_algebra.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_p.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_bin.h
Examining data/aggdraw-1.3.12/agg2/include/agg_scanline_u.h
Examining data/aggdraw-1.3.12/agg2/include/agg_shorten_path.h
Examining data/aggdraw-1.3.12/agg2/include/agg_simul_eq.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_allocator.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_converter.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_generator.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_gouraud.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_gouraud_gray8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_gouraud_rgba8.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_gouraud_rgba8_gamma.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_gradient.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_image_filter.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_image_filter_rgb24.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_image_filter_rgb24_gamma.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_image_filter_rgba32.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_interpolator_adaptor.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_interpolator_linear.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_interpolator_trans.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_pattern.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_pattern_rgb24.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_pattern_rgba32.h
Examining data/aggdraw-1.3.12/agg2/include/agg_span_solid.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_affine.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_bilinear.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_double_path.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_perspective.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_single_path.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h
Examining data/aggdraw-1.3.12/agg2/include/agg_trans_warp_magnifier.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_bspline.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_contour.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_dash.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_markers_term.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_smooth_poly1.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_stroke.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vcgen_vertex_sequence.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vertex_iterator.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vertex_sequence.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vpgen_clip_polygon.h
Examining data/aggdraw-1.3.12/agg2/include/agg_vpgen_segmentator.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_cbox_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_gamma_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_gamma_spline.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_rbox_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_scale_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_slider_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/ctrl/agg_spline_ctrl.h
Examining data/aggdraw-1.3.12/agg2/include/dbg_new/agg_dbg_new.h
Examining data/aggdraw-1.3.12/agg2/include/platform/agg_platform_support.h
Examining data/aggdraw-1.3.12/agg2/include/platform/mac/agg_mac_pmap.h
Examining data/aggdraw-1.3.12/agg2/include/platform/win32/agg_win32_bmp.h
Examining data/aggdraw-1.3.12/agg2/include/util/agg_color_conv.h
Examining data/aggdraw-1.3.12/agg2/include/util/agg_color_conv_rgb8.h
Examining data/aggdraw-1.3.12/agg2/src/agg_arc.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_arrowhead.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_bezier_arc.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_bspline.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_curves.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_embedded_raster_fonts.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_gsv_text.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_image_filters.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_line_aa_basics.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_line_profile_aa.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_path_storage.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_rasterizer_scanline_aa.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_rounded_rect.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_sqrt_tables.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_trans_affine.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_trans_double_path.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_trans_single_path.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_trans_warp_magnifier.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_bspline.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_contour.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_dash.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_markers_term.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_smooth_poly1.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vcgen_stroke.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vpgen_clip_polygon.cpp
Examining data/aggdraw-1.3.12/agg2/src/agg_vpgen_segmentator.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_cbox_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_gamma_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_gamma_spline.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_rbox_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_scale_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_slider_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/ctrl/agg_spline_ctrl.cpp
Examining data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/BeOS/agg_platform_support.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/mac/agg_mac_pmap.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp
Examining data/aggdraw-1.3.12/agg2/src/platform/win32/agg_win32_bmp.cpp
Examining data/aggdraw-1.3.12/aggdraw.cxx

FINAL RESULTS:

data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:540:21:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                    strcpy(m_face_names[m_num_faces], font_name);
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:765:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(m_signature, 
data/aggdraw-1.3.12/agg2/include/agg_font_cache_manager.h:60:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(m_font_signature, font_signature);
data/aggdraw-1.3.12/agg2/include/dbg_new/agg_dbg_new.h:39:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    inline void printf(char* fmt, ...)
data/aggdraw-1.3.12/agg2/include/dbg_new/agg_dbg_new.h:45:8:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
       vsprintf(msg, fmt, arg);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_rbox_ctrl.cpp:77:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(m_items[m_num_items], text);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_slider_ctrl.cpp:165:17:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
                sprintf(buf, m_label, value());
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:338:11:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        ::strcpy(inf_ptr, file);
data/aggdraw-1.3.12/agg2/src/platform/BeOS/agg_platform_support.cpp:557:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_caption, cap);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:369:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_caption, cap);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1004:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(buf, file);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1142:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(buf, file);
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:464:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_caption, cap);
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:638:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:657:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:185:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_caption, cap);
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:496:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:558:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:446:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_caption, cap);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:966:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:985:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(fn, file);
data/aggdraw-1.3.12/aggdraw.cxx:1912:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy(self->filename, filename);
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:524:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(m_faces, 
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:527:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(m_face_names, 
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:756:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                unsigned char gamma_table[rasterizer_scanline_aa<>::aa_num];
data/aggdraw-1.3.12/agg2/include/agg_array.h:83:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(data, m_array, m_size * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_array.h:107:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_array, v.m_array, sizeof(T) * v.m_size);
data/aggdraw-1.3.12/agg2/include/agg_array.h:115:22:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        if(v.m_size) memcpy(m_array, v.m_array, sizeof(T) * v.m_size);
data/aggdraw-1.3.12/agg2/include/agg_array.h:326:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(m_blocks[i], v.m_blocks[i], block_size * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_array.h:342:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(m_blocks[i], v.m_blocks[i], block_size * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_array.h:359:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(new_blocks, 
data/aggdraw-1.3.12/agg2/include/agg_array.h:459:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &(*this)[i], sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_array.h:554:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(new_blocks, 
data/aggdraw-1.3.12/agg2/include/agg_font_cache_manager.h:170:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(m_fonts, 
data/aggdraw-1.3.12/agg2/include/agg_gsv_text.h:90:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char        m_chr[2];
data/aggdraw-1.3.12/agg2/include/agg_path_storage_integer.h:126:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ptr, &m_storage[i], sizeof(vertex_integer_type));
data/aggdraw-1.3.12/agg2/include/agg_path_storage_integer.h:266:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&v, m_ptr, sizeof(vertex_integer_type));
data/aggdraw-1.3.12/agg2/include/agg_pixfmt_amask_adaptor.h:58:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(m_span, covers, len * sizeof(cover_type));
data/aggdraw-1.3.12/agg2/include/agg_rendering_buffer.h:121:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(row(y), mtx.row(y), l);
data/aggdraw-1.3.12/agg2/include/agg_scanline_p.h:146:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_cover_ptr, covers, len * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h:92:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ptr, cells, sizeof(T) * num_cells);
data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h:98:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s.ptr, cells, sizeof(T) * num_cells);
data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h:139:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dst.ptr, src.ptr, dst.len * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h:470:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(data, covers, sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_scanline_storage_aa.h:475:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(data, covers, unsigned(sp.len) * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_scanline_u.h:220:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_covers + x, covers, len * sizeof(T));
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:177:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_world_x1,  sizeof(m_world_x1));  ptr += sizeof(m_world_x1); 
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:178:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_world_y1,  sizeof(m_world_y1));  ptr += sizeof(m_world_y1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:179:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_world_x2,  sizeof(m_world_x2));  ptr += sizeof(m_world_x2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:180:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_world_y2,  sizeof(m_world_y2));  ptr += sizeof(m_world_y2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:181:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_device_x1, sizeof(m_device_x1)); ptr += sizeof(m_device_x1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:182:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_device_y1, sizeof(m_device_y1)); ptr += sizeof(m_device_y1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:183:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_device_x2, sizeof(m_device_x2)); ptr += sizeof(m_device_x2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:184:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_device_y2, sizeof(m_device_y2)); ptr += sizeof(m_device_y2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:185:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_aspect,    sizeof(m_aspect));    ptr += sizeof(m_aspect);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:186:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_align_x,   sizeof(m_align_x));   ptr += sizeof(m_align_x);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:187:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_align_y,   sizeof(m_align_y));   ptr += sizeof(m_align_y);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:188:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_wx1,       sizeof(m_wx1));       ptr += sizeof(m_wx1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:189:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_wy1,       sizeof(m_wy1));       ptr += sizeof(m_wy1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:190:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_wx2,       sizeof(m_wx2));       ptr += sizeof(m_wx2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:191:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_wy2,       sizeof(m_wy2));       ptr += sizeof(m_wy2);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:192:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_dx1,       sizeof(m_dx1));       ptr += sizeof(m_dx1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:193:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_dy1,       sizeof(m_dy1));       ptr += sizeof(m_dy1);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:194:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_kx,        sizeof(m_kx));        ptr += sizeof(m_kx);
data/aggdraw-1.3.12/agg2/include/agg_trans_viewport.h:195:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, &m_ky,        sizeof(m_ky));        ptr += sizeof(m_ky);
data/aggdraw-1.3.12/agg2/include/ctrl/agg_cbox_ctrl.h:65:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char     m_label[128];
data/aggdraw-1.3.12/agg2/include/ctrl/agg_gamma_spline.h:79:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char m_gamma[256];
data/aggdraw-1.3.12/agg2/include/ctrl/agg_slider_ctrl.h:80:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char     m_label[64];
data/aggdraw-1.3.12/agg2/include/ctrl/agg_spline_ctrl.h:90:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char m_spline_values8[256];
data/aggdraw-1.3.12/agg2/include/dbg_new/agg_dbg_new.h:41:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
       FILE* fd = fopen("stdout.txt", "at");
data/aggdraw-1.3.12/agg2/include/dbg_new/agg_dbg_new.h:42:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
       static char msg[1024];
data/aggdraw-1.3.12/agg2/include/platform/agg_platform_support.h:640:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char             m_caption[256];
data/aggdraw-1.3.12/agg2/src/agg_gsv_text.cpp:561:20:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE* fd = fopen(file, "rb");
data/aggdraw-1.3.12/agg2/src/agg_gsv_text.cpp:595:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_text_buf, text, new_size);
data/aggdraw-1.3.12/agg2/src/agg_path_storage.cpp:105:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(new_coords, 
data/aggdraw-1.3.12/agg2/src/agg_path_storage.cpp:109:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(new_cmds, 
data/aggdraw-1.3.12/agg2/src/agg_rasterizer_scanline_aa.cpp:138:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(new_cells, m_cells, m_max_blocks * sizeof(cell_aa*));
data/aggdraw-1.3.12/agg2/src/ctrl/agg_cbox_ctrl.cpp:54:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_label, l, len);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_gamma_ctrl.cpp:130:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char tbuf[32];
data/aggdraw-1.3.12/agg2/src/ctrl/agg_gamma_ctrl.cpp:243:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(tbuf, "%5.3f %5.3f %5.3f %5.3f", kx1, ky1, kx2, ky2);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_slider_ctrl.cpp:108:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(m_label, fmt, len);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_slider_ctrl.cpp:164:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char buf[256];
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:39:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char     file_name[512];
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:73:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(dbg_new_prev_word + dbg_new_max_count,
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:91:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(&prev,
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:126:23:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
           FILE* fd = fopen("stdout.txt", "wt");
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:136:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(dbg_new_info[dbg_new_level].file_name, file, len);
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:319:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(inf_ptr, &size, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:332:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(inf_ptr, &line, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:335:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(inf_ptr, &fname_len, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:349:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(crc32_ptr, &crc32_sum, sizeof(unsigned long));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:417:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(&size, free_ptr, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:423:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(&crc32_sum, inf_ptr, sizeof(unsigned long));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:430:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(&line, inf_ptr, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:434:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(&fname_len, inf_ptr, sizeof(unsigned));
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:437:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char file[512];
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:439:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        ::memcpy(file, inf_ptr, fname_len);
data/aggdraw-1.3.12/agg2/src/platform/BeOS/agg_platform_support.cpp:544:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(m_caption, "Anti-Grain Geometry Application");
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:355:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(m_caption, "AGG Application");
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1003:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[1024];
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1008:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(buf, ".ppm");
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1011:24:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            FILE* fd = fopen(buf, "rb");
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1036:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            unsigned width = atoi(ptr);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1049:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            unsigned height = atoi(ptr);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1057:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            if(atoi(ptr) != 255)
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1141:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[1024];
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1146:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(buf, ".ppm");
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1149:24:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            FILE* fd = fopen(buf, "wb");
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:449:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(m_caption, "Anti-Grain Geometry Application");
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:637:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:642:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:656:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:661:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:170:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(m_caption, "Anti-Grain Geometry Application");
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:495:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:500:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:557:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:562:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:431:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(m_caption, "Anti-Grain Geometry Application");
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:965:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:970:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:984:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char fn[1024];
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:989:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(fn, ".bmp");
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:1303:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(argv_ptr, tok.ptr, tok.len);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_win32_bmp.cpp:383:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf, m_buf, m_bmp->bmiHeader.biSizeImage);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_win32_bmp.cpp:466:20:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE *fd = fopen(filename, "rb");
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_win32_bmp.cpp:501:20:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE *fd = fopen(filename, "wb");
data/aggdraw-1.3.12/aggdraw.cxx:604:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[10];
data/aggdraw-1.3.12/aggdraw.cxx:726:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(self->buffer_data, data, self->buffer_size);
data/aggdraw-1.3.12/aggdraw.cxx:943:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[10];
data/aggdraw-1.3.12/aggdraw.cxx:1560:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(self->buffer_data, data, self->buffer_size);
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:539:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    m_face_names[m_num_faces] = new char [strlen(font_name) + 1];
data/aggdraw-1.3.12/agg2/font_freetype/agg_font_freetype.cpp:743:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            unsigned name_len = strlen(m_name);
data/aggdraw-1.3.12/agg2/include/agg_array.h:713:50:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    unsigned remove_duplicates(Array& arr, Equal equal)
data/aggdraw-1.3.12/agg2/include/agg_array.h:721:17:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            if(!equal(e, arr[i - 1]))
data/aggdraw-1.3.12/agg2/include/agg_font_cache_manager.h:59:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            m_font_signature = (char*)m_allocator.allocate(strlen(font_signature) + 1);
data/aggdraw-1.3.12/agg2/src/agg_gsv_text.cpp:589:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        unsigned new_size = strlen(text) + 1;
data/aggdraw-1.3.12/agg2/src/ctrl/agg_cbox_ctrl.cpp:52:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        unsigned len = strlen(l);
data/aggdraw-1.3.12/agg2/src/ctrl/agg_rbox_ctrl.cpp:76:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            m_items[m_num_items] = new char[strlen(text) + 1];
data/aggdraw-1.3.12/agg2/src/ctrl/agg_slider_ctrl.cpp:106:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            unsigned len = strlen(fmt);
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:134:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        int len = strlen(file);
data/aggdraw-1.3.12/agg2/src/dbg_new/agg_dbg_new.cpp:302:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        unsigned fname_len = ::strlen(file) + 1;
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:207:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        tp.nitems = strlen(capt);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1005:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(buf);
data/aggdraw-1.3.12/agg2/src/platform/X11/agg_platform_support.cpp:1143:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(buf);
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:639:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/mac/agg_platform_support.cpp:658:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:497:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/sdl/agg_platform_support.cpp:559:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:967:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:986:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            int len = strlen(fn);
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:1129:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        m_sep_len(sep ? strlen(sep) : 0),
data/aggdraw-1.3.12/agg2/src/platform/win32/agg_platform_support.cpp:1284:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    char* argv_str = new char [strlen(lpszCmdLine) + 3];
data/aggdraw-1.3.12/aggdraw.cxx:619:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(buffer, PyBytes_AS_STRING(mode_obj), sizeof buffer);
data/aggdraw-1.3.12/aggdraw.cxx:627:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(buffer, PyBytes_AsString(ascii_mode), sizeof buffer);
data/aggdraw-1.3.12/aggdraw.cxx:801:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    self->info.bmiHeader.biBitCount = strlen(mode)*8;
data/aggdraw-1.3.12/aggdraw.cxx:950:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(buffer, PyBytes_AsString(ascii_color), sizeof buffer);
data/aggdraw-1.3.12/aggdraw.cxx:959:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (ink && ink[0] == '#' && strlen(ink) == 7) {
data/aggdraw-1.3.12/aggdraw.cxx:1911:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    self->filename = new char[strlen(filename)+1];
data/aggdraw-1.3.12/aggdraw.cxx:2116:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    e = path + strlen(path);

ANALYSIS SUMMARY:

Hits = 160
Lines analyzed = 58363 in approximately 1.45 seconds (40159 lines/second)
Physical Source Lines of Code (SLOC) = 41440
Hits@level = [0]  33 [1]  29 [2] 109 [3]   0 [4]  22 [5]   0
Hits@level+ = [0+] 193 [1+] 160 [2+] 131 [3+]  22 [4+]  22 [5+]   0
Hits/KSLOC@level+ = [0+] 4.65734 [1+] 3.861 [2+] 3.1612 [3+] 0.530888 [4+] 0.530888 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.