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/pyferret-7.6.3/fmt/src/cd_write_att_dp_sub.c
Examining data/pyferret-7.6.3/fmt/src/tm_ep_time_convrt.c
Examining data/pyferret-7.6.3/fmt/src/string_array_find_caseblind.c
Examining data/pyferret-7.6.3/fmt/src/tm_check_inf.c
Examining data/pyferret-7.6.3/fmt/src/tm_set_free_event.c
Examining data/pyferret-7.6.3/fmt/src/cd_write_var_sub.c
Examining data/pyferret-7.6.3/fmt/src/deleted_list_clear.c
Examining data/pyferret-7.6.3/fmt/src/switch_nan.c
Examining data/pyferret-7.6.3/fmt/src/ez_delimited_read.c
Examining data/pyferret-7.6.3/fmt/src/tm_match_capital_name.c
Examining data/pyferret-7.6.3/fmt/src/str_upcase_sub.c
Examining data/pyferret-7.6.3/fmt/src/str_case_blind_compare_sub.c
Examining data/pyferret-7.6.3/fmt/src/tm_nullify_lm.c
Examining data/pyferret-7.6.3/fmt/src/deleted_list_get_del.c
Examining data/pyferret-7.6.3/fmt/src/tm_world_recur.c
Examining data/pyferret-7.6.3/fmt/src/cd_write_att_sub.c
Examining data/pyferret-7.6.3/fmt/src/string_array_find_exact.c
Examining data/pyferret-7.6.3/fmt/src/string_array_clear.c
Examining data/pyferret-7.6.3/fmt/src/string_array_hash.c
Examining data/pyferret-7.6.3/fmt/src/tm_break_fmt_date_c.c
Examining data/pyferret-7.6.3/fmt/src/cd_read_sub.c
Examining data/pyferret-7.6.3/fmt/src/str_dncase_sub.c
Examining data/pyferret-7.6.3/fmt/src/string_array_find.c
Examining data/pyferret-7.6.3/fmt/src/deleted_list_init.c
Examining data/pyferret-7.6.3/fmt/src/string_array_get_strlen1.c
Examining data/pyferret-7.6.3/fmt/src/cd_rd_str_1_sub.c
Examining data/pyferret-7.6.3/fmt/src/tm_get_strlen.c
Examining data/pyferret-7.6.3/fmt/src/tm_c_rename.c
Examining data/pyferret-7.6.3/fmt/src/tm_unix_versions.c
Examining data/pyferret-7.6.3/fmt/src/tm_check_nan.c
Examining data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c
Examining data/pyferret-7.6.3/fmt/src/deleted_list_get_undel.c
Examining data/pyferret-7.6.3/fmt/src/tm_number_sub.c
Examining data/pyferret-7.6.3/fmt/src/urlencode.c
Examining data/pyferret-7.6.3/fmt/src/tm_free_dyn_mem.c
Examining data/pyferret-7.6.3/fmt/src/string_array_get_strlen.c
Examining data/pyferret-7.6.3/fmt/src/tm_make_relative_ver.c
Examining data/pyferret-7.6.3/fmt/src/cd_read_scale.c
Examining data/pyferret-7.6.3/fmt/src/tm_blockify_ferret_strings.c
Examining data/pyferret-7.6.3/fmt/src/NCF_Util.c
Examining data/pyferret-7.6.3/fmt/src/tm_get_lm_mem.c
Examining data/pyferret-7.6.3/fmt/src/deleted_list_modify.c
Examining data/pyferret-7.6.3/fmt/src/string_array_find_quoted.c
Examining data/pyferret-7.6.3/fmt/src/string_array_modify_upcase.c
Examining data/pyferret-7.6.3/fmt/src/tm_unblockify_ferret_strings.c
Examining data/pyferret-7.6.3/fmt/src/string_array_init.c
Examining data/pyferret-7.6.3/fmt/src/string_array_modify.c
Examining data/pyferret-7.6.3/fmt/cmn/ez_delimited_read.h
Examining data/pyferret-7.6.3/fmt/cmn/fbits.h
Examining data/pyferret-7.6.3/fmt/cmn/NCF_Util.h
Examining data/pyferret-7.6.3/fmt/cmn/fmtprotos.h
Examining data/pyferret-7.6.3/fmt/cmn/deleted_list.h
Examining data/pyferret-7.6.3/fmt/cmn/string_array.h
Examining data/pyferret-7.6.3/fer/efi/time_decode.c
Examining data/pyferret-7.6.3/fer/efi/us2i_compare_string_list.c
Examining data/pyferret-7.6.3/fer/efi/date_decode.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSegment.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_resizeWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_scaleWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_redrawWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endSegment.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPoints.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSymbol.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_setImageName.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replacePenColor.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_createWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deletePen.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawMultiline.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginSegment.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_showWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_showWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_redrawWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_resizeWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind.h
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_windowScreenInfo.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_scaleWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind.h
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginView.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clearWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWidthFactor.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWindowDpi.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_updateWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_deleteWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteColor.c
Examining data/pyferret-7.6.3/fer/cferbind/cferbind_createWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cferbind.h
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replaceBrushColor.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_saveWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWaterMark.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteBrush.c
Examining data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_clearWindow.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setAntialias.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteFont.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_windowScreenInfo.c
Examining data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clipView.c
Examining data/pyferret-7.6.3/fer/special/FerMem_routines.c
Examining data/pyferret-7.6.3/fer/common/binaryRead.h
Examining data/pyferret-7.6.3/fer/common/list.h
Examining data/pyferret-7.6.3/fer/common/EF_Util.h
Examining data/pyferret-7.6.3/fer/common/ferret.h
Examining data/pyferret-7.6.3/fer/common/ferret_shared_buffer.h
Examining data/pyferret-7.6.3/fer/common/FerMem.h
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_num_work_arrays.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_reduction_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_cx_list.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_result_type.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_type.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_work_array_dims_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_one_val.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_name_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_unit_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_num_args.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_custom_axis_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_put_string.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_mr_list.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_influence.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_result_type.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_version_test.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_work_array_dims.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_freq_axis_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_desc_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_limits.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_put_string_ptr.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_piecemeal_ok.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_mres.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_alt_fcn_name_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_piecemeal_ok_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_reduction.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_work_array_lens.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_desc_sub.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_bad_flags.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_has_vari_args.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_influence_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_work_array_lens_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_get_arg_type.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_inheritance_6d.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_extend.c
Examining data/pyferret-7.6.3/fer/ef_utility/ef_set_axis_inheritance.c
Examining data/pyferret-7.6.3/fer/grdel/getSymbolDef.c
Examining data/pyferret-7.6.3/fer/grdel/pen.c
Examining data/pyferret-7.6.3/fer/grdel/getTransformValues.c
Examining data/pyferret-7.6.3/fer/grdel/symbol.c
Examining data/pyferret-7.6.3/fer/grdel/brush.c
Examining data/pyferret-7.6.3/fer/grdel/color.c
Examining data/pyferret-7.6.3/fer/grdel/grdel.h
Examining data/pyferret-7.6.3/fer/grdel/font.c
Examining data/pyferret-7.6.3/fer/grdel/draw.c
Examining data/pyferret-7.6.3/fer/grdel/window.c
Examining data/pyferret-7.6.3/fer/ccr/c_strfloat.c
Examining data/pyferret-7.6.3/fer/ccr/free_cached_full_array.c
Examining data/pyferret-7.6.3/fer/ccr/copy_c_string.c
Examining data/pyferret-7.6.3/fer/ccr/replace_bad_data_sub.c
Examining data/pyferret-7.6.3/fer/ccr/linux_routines_c.c
Examining data/pyferret-7.6.3/fer/ccr/get_offset_c_string_len.c
Examining data/pyferret-7.6.3/fer/ccr/xfer_c_ptrs.c
Examining data/pyferret-7.6.3/fer/ccr/c_strlen.c
Examining data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c
Examining data/pyferret-7.6.3/fer/ccr/get_linemem.c
Examining data/pyferret-7.6.3/fer/ccr/write_dods.c
Examining data/pyferret-7.6.3/fer/ccr/init_c_string_array.c
Examining data/pyferret-7.6.3/fer/ccr/c_strindex.c
Examining data/pyferret-7.6.3/fer/ccr/get_max_c_string_len.c
Examining data/pyferret-7.6.3/fer/ccr/get_ws_mem.c
Examining data/pyferret-7.6.3/fer/ccr/nullify_ws.c
Examining data/pyferret-7.6.3/fer/ccr/text_to_utf8.c
Examining data/pyferret-7.6.3/fer/ccr/c_strrindex.c
Examining data/pyferret-7.6.3/fer/ccr/nullify_mr.c
Examining data/pyferret-7.6.3/fer/ccr/create_utf8_string.c
Examining data/pyferret-7.6.3/fer/ccr/c_upcase.c
Examining data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c
Examining data/pyferret-7.6.3/fer/ccr/replaceable_bad_flags.c
Examining data/pyferret-7.6.3/fer/ccr/set_null_c_string_array.c
Examining data/pyferret-7.6.3/fer/ccr/get_c_string.c
Examining data/pyferret-7.6.3/fer/ccr/set_nan.c
Examining data/pyferret-7.6.3/fer/ccr/get_mr_mem.c
Examining data/pyferret-7.6.3/fer/ccr/dynmemUtil.c
Examining data/pyferret-7.6.3/fer/ccr/c_strcat.c
Examining data/pyferret-7.6.3/fer/ccr/get_c_string_len.c
Examining data/pyferret-7.6.3/fer/ccr/recover_cached_2d_array_point.c
Examining data/pyferret-7.6.3/fer/ccr/compare_c_strings.c
Examining data/pyferret-7.6.3/fer/ccr/set_null_c_string.c
Examining data/pyferret-7.6.3/fer/ccr/free_dyn_mem.c
Examining data/pyferret-7.6.3/fer/ccr/batch_graphics.c
Examining data/pyferret-7.6.3/fer/ccr/free_c_string_array.c
Examining data/pyferret-7.6.3/fer/ccr/get_offset_c_string.c
Examining data/pyferret-7.6.3/fer/ccr/get_c_pointer.c
Examining data/pyferret-7.6.3/fer/ccr/cache_full_array.c
Examining data/pyferret-7.6.3/fer/ccr/list.c
Examining data/pyferret-7.6.3/fer/ccr/get_edgmem.c
Examining data/pyferret-7.6.3/fer/ccr/ferret_dispatch_c.c
Examining data/pyferret-7.6.3/fer/ccr/free_c_pointer.c
Examining data/pyferret-7.6.3/fer/ccr/check_nan_data_sub.c
Examining data/pyferret-7.6.3/fer/ccr/save_c_string.c
Examining data/pyferret-7.6.3/fer/ccr/recover_cached_full_array.c
Examining data/pyferret-7.6.3/fer/ccr/c_substr.c
Examining data/pyferret-7.6.3/fer/ccr/c_dncase.c
Examining data/pyferret-7.6.3/fer/ccr/c_strcmp.c
Examining data/pyferret-7.6.3/fer/ccr/binaryRead.c
Examining data/pyferret-7.6.3/pyfermod/decref_pyobj.c
Examining data/pyferret-7.6.3/pyfermod/pyferret.h
Examining data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c
Examining data/pyferret-7.6.3/pyfermod/pyefcn_init.c
Examining data/pyferret-7.6.3/pyfermod/copy_pystat_data.c
Examining data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c
Examining data/pyferret-7.6.3/pyfermod/pyefcn_compute.c
Examining data/pyferret-7.6.3/pyfermod/pyefcn_get_error.c
Examining data/pyferret-7.6.3/pyfermod/libpyferret.c
Examining data/pyferret-7.6.3/pyfermod/set_memory.c
Examining data/pyferret-7.6.3/ppl/tmapadds/pplldv_envelope.c
Examining data/pyferret-7.6.3/ppl/tmapadds/pplcmd_c.c
Examining data/pyferret-7.6.3/ppl/tmapadds/pplldc_envelope.c
Examining data/pyferret-7.6.3/ppl/tmapadds/pplld_pts_envelope.c
Examining data/pyferret-7.6.3/ppl/tmapadds/pplldx_envelope.c
Examining data/pyferret-7.6.3/ppl/tmapadds/reallo_envelope.c
Examining data/pyferret-7.6.3/ppl/tmapadds/its_gksm.c
Examining data/pyferret-7.6.3/ppl/tmap_inc/pplmem.h
Examining data/pyferret-7.6.3/external_functions/romea/rr_parameters.h
Examining data/pyferret-7.6.3/external_functions/contributed/species.h
Examining data/pyferret-7.6.3/external_functions/v5d/v5df_fer.h
Examining data/pyferret-7.6.3/external_functions/v5d/v5d.c
Examining data/pyferret-7.6.3/external_functions/v5d/binio.c
Examining data/pyferret-7.6.3/external_functions/v5d/vis5d.h
Examining data/pyferret-7.6.3/external_functions/v5d/binio.h
Examining data/pyferret-7.6.3/external_functions/v5d/v5d.h
Examining data/pyferret-7.6.3/external_functions/v5d/config.h
Examining data/pyferret-7.6.3/external_functions/date_and_time/time_decode.c
Examining data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c
Examining data/pyferret-7.6.3/external_functions/matlab/matlab_func_link.c
Examining data/pyferret-7.6.3/external_functions/matlab/matlab_link.c
Examining data/pyferret-7.6.3/external_functions/godae_obs/ocn_types.h
Examining data/pyferret-7.6.3/external_functions/tax_times/tax.h
Examining data/pyferret-7.6.3/external_functions/cflib/fcn_curv_to_lonlat.c
Examining data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_regrid.c
Examining data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_from_weights.c

FINAL RESULTS:

data/pyferret-7.6.3/external_functions/v5d/v5d.c:1040:4:  [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(v->FileVersion, FILE_VERSION);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1450:7:  [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(ef.name, I_EFnames[i_intEF]);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1473:3:  [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(allpaths, path_ptr);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1483:7:  [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(path, path_ptr);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1487:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(cmd, "ls -1 %s", path);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1490:24:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if ( (file_ptr = popen(cmd, "r")) == (FILE *) NULL ) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1510: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(ef.path, path);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1511: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(ef.name, file);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1725:7:  [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(tempText, ef_ptr->path);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1726:7:  [4] (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).
      strcat(tempText, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1769:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(tempText, "%s_init_", ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1867: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(tempText, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1999: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(tempText, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2209:7:  [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(tempText, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2342: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(tempText, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2840:3:  [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(unit, ef_ptr->internals_ptr->axis[*axis_ptr-1].unit);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2860:3:  [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(name, ef_ptr->name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2892:3:  [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(descr, ef_ptr->internals_ptr->description);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2912:3:  [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(alt_str_name, ef_ptr->internals_ptr->alt_fcn_name);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3174: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(string, ef_ptr->internals_ptr->arg_name[index]);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3196:3:  [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(string, ef_ptr->internals_ptr->arg_unit[index]);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3213:3:  [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(string, ef_ptr->internals_ptr->arg_desc[index]);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:52:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(Errbuf, str, mess);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:145:3:  [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(fi->name, name);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:434:3:  [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, Errbuf);
data/pyferret-7.6.3/fer/ccr/copy_c_string.c:67:4:  [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(*out_ptr, *in_ptr);
data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c:94:13:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    fpipe = popen(cmd, "r");
data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c:144: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(pmnt, buf);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:60:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_createBrush: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:86:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_createPen: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:102:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_createPen: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:118:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_createPen: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c:119:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_createSurface: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:260:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_createSymbol: unknown symbol '%s'", symbolobj->name);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:63:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_endView: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:75:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_endView: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:99:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:113:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:209:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:226: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(&(allannos[j]), (char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:296:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:312:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:419:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:426:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:603:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:109:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "cairoCFerBind_setImageName: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:54:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:67:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:148:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: error when creating "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:159:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: error when calling the "
data/pyferret-7.6.3/fer/ef_utility/ef_put_string_ptr.c:22:3:  [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(*out_ptr, *in_ptr);
data/pyferret-7.6.3/fer/ef_utility/ef_set_alt_fcn_name_sub.c:16:4:  [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(ef_ptr->internals_ptr->alt_fcn_name, text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_desc_sub.c:16:3:  [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(ef_ptr->internals_ptr->arg_desc[*arg_ptr-1], text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_name_sub.c:16:3:  [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(ef_ptr->internals_ptr->arg_name[*arg_ptr-1], text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_arg_unit_sub.c:16:3:  [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(ef_ptr->internals_ptr->arg_unit[*arg_ptr-1], text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_custom_axis_sub.c:18:3:  [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(ef_ptr->internals_ptr->axis[*axis_ptr-1].unit, text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_desc_sub.c:16:3:  [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(ef_ptr->internals_ptr->description, text);
data/pyferret-7.6.3/fer/ef_utility/ef_set_freq_axis_sub.c:25:3:  [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(ef_ptr->internals_ptr->axis[*axis_ptr-1].unit, text);
data/pyferret-7.6.3/fer/efi/us2i_compare_string_list.c:148:4:  [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(this_string.astring, addstring);
data/pyferret-7.6.3/fer/grdel/brush.c:75:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelBrush: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/brush.c:166:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelBrushDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/brush.c:224:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelBrushDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/color.c:93:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelColor: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/color.c:178:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelColorDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/draw.c:142:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelDrawMultiline: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:314:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelDrawPoints: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:488:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelDrawPolygon: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:599:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelDrawRectangle: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:678:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelTextSize: Error when calling the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:684:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelTextSize: Error when parsing the Python "
data/pyferret-7.6.3/fer/grdel/draw.c:789:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelDrawText: Error when calling the Python "
data/pyferret-7.6.3/fer/grdel/font.c:100:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelFont: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/font.c:185:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelFontDelete: error when calling "
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:180:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "Environment variable for markers %s is not defined", SYMDIRS_ENVVAR);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:187:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "Value of environment variable for markers %s exceeds %d characters", SYMDIRS_ENVVAR, MAXLINELEN);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:191: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(symdirs, envval);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:262: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(symdirs, envval);
data/pyferret-7.6.3/fer/grdel/pen.c:86:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelPen: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/pen.c:177:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelPenDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/pen.c:235:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelPenDelete: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/symbol.c:177:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelSymbol: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/symbol.c:274:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelSymbolDelete: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/window.c:168:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(grdelerrmsg, "grdelWindowCreate: error when calling createWindow "
data/pyferret-7.6.3/fer/grdel/window.c:263:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:402:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetImageName: Error when calling "
data/pyferret-7.6.3/fer/grdel/window.c:466:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowClear: Error when calling "
data/pyferret-7.6.3/fer/grdel/window.c:529:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowRedraw: Error when calling "
data/pyferret-7.6.3/fer/grdel/window.c:585:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowUpdate: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:647:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetAntialias: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:707:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetSize: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:764:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetScale: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:826:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetVisible: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:944:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSave: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1006:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowScreenInfo: error when calling the Python "
data/pyferret-7.6.3/fer/grdel/window.c:1013:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowScreenInfo: Error when parsing the Python "
data/pyferret-7.6.3/fer/grdel/window.c:1124:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetWidthFactor: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1526:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowViewBegin: Error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1594:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowViewClip: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1653:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowViewEnd: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1788:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSegmentBegin: Error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1848:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSegmentEnd: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1907:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSegmentDelete: error when calling the "
data/pyferret-7.6.3/fer/grdel/window.c:1961:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(grdelerrmsg, "grdelWindowSetWmark: Error when calling the "
data/pyferret-7.6.3/fmt/src/NCF_Util.c:188: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 (dname, nc_ptr->dims[*idim-1].name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:213: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(newvarname, var_ptr->name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:292: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(attname, att_ptr->name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:336: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(name, nc_ptr->fername);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:380: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(string, var_ptr->name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:608: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(attname, att_ptr->name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:864: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(nc.fername, name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:865: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(nc.fullpath, path);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:882: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 (nc.dims[i].name, fdims.name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:961:29:  [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(strptr, strarray[0]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:967:32:  [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(strptr, strarray[idx]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1176:33:  [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(strptr, strarray[0]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1182:36:  [4] (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).
                                   strcat(strptr, strarray[idx]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1238: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 (att.string,var.name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1278: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(nc.fername, name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1279: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(nc.fullpath, path);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1302: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(att.string, name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1634: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(var.name,varname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1679: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(att.string, title);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1697: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(att.string, units);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1801: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(var.name, varname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1830: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(att.string, units);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1885: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(att.name, attname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1951: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(att.name, attname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2034: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(att.name,attname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2041: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(att.string, attstring);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2063: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(var_ptr->name, newvarname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2084: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(nc_ptr->dims[*dimid-1].name, newdimname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2155: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(att_ptr->string,attstring);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2244: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(att_ptr->string,attstring);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2546: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(att.name, att_ptr1->name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2555: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(att.string, att_ptr1->string);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2633: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(nc.fername, name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2656: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(att.string, name);
data/pyferret-7.6.3/fmt/src/cd_rd_str_1_sub.c:111:7:  [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 ( buff, pbuff );
data/pyferret-7.6.3/fmt/src/cd_rd_str_1_sub.c:125:7:  [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(buff, *strarray);
data/pyferret-7.6.3/fmt/src/cd_read_sub.c:239:10:  [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(*strptrptr, strarray[i]);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:406:2:  [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( (*(text_fields+i))[rec*pinc], blankstr );
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:737:4:  [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( (*(text_fields+i))[rec*pinc], p );
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:974:3:  [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(_delim, delim);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:994:3:  [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(delim, fi->delim);
data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c:189: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( buff, line_read );
data/pyferret-7.6.3/fmt/src/tm_number_sub.c:56:14:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  num_read = sscanf(string, "%lf%s", &rval, kval);
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:158: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 ( next_name, name );
data/pyferret-7.6.3/pyfermod/libpyferret.c:564:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "\n\n"
data/pyferret-7.6.3/pyfermod/libpyferret.c:734: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(dataname, name);
data/pyferret-7.6.3/pyfermod/libpyferret.c:882:17:  [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(axis_units[k], CALTYPE_NONE_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:885:17:  [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(axis_units[k], CALTYPE_360DAY_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:888:17:  [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(axis_units[k], CALTYPE_NOLEAP_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:891:17:  [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(axis_units[k], CALTYPE_GREGORIAN_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:894:17:  [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(axis_units[k], CALTYPE_JULIAN_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:897:17:  [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(axis_units[k], CALTYPE_ALLLEAP_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1343: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(dataname, name);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1539:17:  [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(axis_units[k], CALTYPE_NONE_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1542:17:  [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(axis_units[k], CALTYPE_360DAY_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1545:17:  [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(axis_units[k], CALTYPE_NOLEAP_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1548:17:  [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(axis_units[k], CALTYPE_GREGORIAN_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1551:17:  [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(axis_units[k], CALTYPE_JULIAN_STR);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1554:17:  [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(axis_units[k], CALTYPE_ALLLEAP_STR);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:116:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Problems creating a Python string from the module name: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:123:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Unable to import module: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:131:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Error when calling %s in %s: %s", INIT_METHOD_NAME, modname, pyefcn_get_error());
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:325:33:  [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((char *) PyArray_GetPtr(ndarrays[j], indices), *((char **) dptr));
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:438:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Error when calling %s in %s: %s", COMPUTE_METHOD_NAME, modname, pyefcn_get_error());
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:75:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Problems creating a Python string from the module name: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:84:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Unable to import module: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:96:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Error when calling %s in %s: %s", CUSTOM_AXES_METHOD_NAME, modname, pyefcn_get_error());
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:108:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Invalid return value (not a tuple or list) from %s in %s", CUSTOM_AXES_METHOD_NAME, modname);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:114:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Invalid return value (tuple or list with more than %d items) from %s in %s", 
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:129:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(errmsg, "Invalid custom axes value (not None, a tuple, or a list) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:137:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(errmsg, "Invalid custom axes value (not a tuple of at least three values) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:149:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid custom axes low value (not a float) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:151:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid custom axes high value (not a float) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:153:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid custom axes delta value (not a float) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:170:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf(errmsg, "Invalid custom axes unit_name value (not a string) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:190:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf(errmsg, "Invalid custom axes is_modulo value (not True or False) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:205:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "No custom axis value were given in the tuple returned from %s in %s", CUSTOM_AXES_METHOD_NAME, modname);
data/pyferret-7.6.3/pyfermod/pyefcn_get_error.c:66:17:  [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(errmsg, PyUnicode_AsUTF8(exc_string));
data/pyferret-7.6.3/pyfermod/pyefcn_get_error.c:68:17:  [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(errmsg, PyString_AsString(exc_string));
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:86:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Problems creating a Python string from the module name: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:95:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Unable to import module: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:108:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Error when calling %s in %s: %s", INIT_METHOD_NAME, modname, pyefcn_get_error());
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:117:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Invalid return value (not a dictionary) from %s in %s",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:128:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "\"numargs\" not defined in the dictionary returned from %s in %s",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:151:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "\"descript\" not defined in the dictionary returned from %s in %s",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:285:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf(errmsg, "Invalid \"axes\" value (not one of the AXIS_* values) for the %s axis",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:574:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid \"influences\" value (not True or False) for the %s axis "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:586:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(errmsg, "Invalid YES \"influences\" value (result axis not IMPLIED_BY_ARGS or REDUCED) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:652:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(errmsg, "Invalid \"extends\" value (not None, a tuple, or a list) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:662:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(errmsg, "Invalid \"extends\" value (tuple or list with more that two items) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:680:37:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                                    sprintf(errmsg, "Invalid first \"extends\" value (not an int) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:683:37:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                                    sprintf(errmsg, "Invalid second \"extends\" value (not an int) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:694:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(errmsg, "Invalid \"extends\" value (result axis not IMPLIED_BY_ARGS) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:725:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(errmsg, "Invalid key (not a string) in the dictionary returned from %s in %s",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:735:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(errmsg, "Invalid key \"%s\" in the dictionary returned from %s in %s",
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:72:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Problems creating a Python string from the module name: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:81:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Unable to import module: %s", modname);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:93:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Error when calling %s in %s: %s", RESULT_LIMITS_METHOD_NAME, modname, pyefcn_get_error());
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:105:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Invalid return value (not a tuple or list) from %s in %s", RESULT_LIMITS_METHOD_NAME, modname);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:111:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "Invalid return value (tuple or list with more than %d items) from %s in %s", 
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:126:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(errmsg, "Invalid result limits value (not None, a tuple, or a list) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:134:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(errmsg, "Invalid result limits value (not a pair of values) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:149:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid result limits low value (not an int) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:151:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(errmsg, "Invalid result limits high value (not an int) for the %s axis", AXIS_NAMES[k]);
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:165:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(errmsg, "No result limits were given in the tuple returned from %s in %s", RESULT_LIMITS_METHOD_NAME, modname);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1467:14:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  path_ptr = getenv("PYFER_EXTERNAL_FUNCTIONS");
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:178:14:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    envval = getenv(SYMDIRS_ENVVAR);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:253:14:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    envval = getenv(SYMDIRS_ENVVAR);
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_from_weights.c:77:5:  [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(start,start0,sizeof(start0));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_from_weights.c:78:5:  [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(count,count0,sizeof(count0));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_from_weights.c:85:5:  [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(start,start1,sizeof(start1));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_from_weights.c:86:5:  [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(count,count1,sizeof(count1));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_regrid.c:74:5:  [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(start,start0,sizeof(start0));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_regrid.c:75:5:  [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(count,count0,sizeof(count0));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_regrid.c:81:5:  [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(start,start1,sizeof(start1));
data/pyferret-7.6.3/external_functions/cflib/curv_to_lonlat_regrid.c:82:5:  [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(count,count1,sizeof(count1));
data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c:60:3:  [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 str3[4],str1[2];
data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c:61:3:  [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 months[13][4] = {"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"};
data/pyferret-7.6.3/external_functions/date_and_time/time_decode.c:60:3:  [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 str1[2];
data/pyferret-7.6.3/external_functions/matlab/matlab_func_link.c:22:3:  [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[BUFSIZE], cbuffer[BUFSIZE];
data/pyferret-7.6.3/external_functions/matlab/matlab_func_link.c:72:3:  [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(cbuffer, "res = matlab_func_test(%d,SAL,TEMP,PRES);", choice);
data/pyferret-7.6.3/external_functions/matlab/matlab_link.c:19:3:  [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[BUFSIZE], cbuffer[BUFSIZE];
data/pyferret-7.6.3/external_functions/matlab/matlab_link.c:54:5:  [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(mxData, xcoords, sizeof(double)* *xsize);
data/pyferret-7.6.3/external_functions/matlab/matlab_link.c:55:5:  [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(myData, ycoords, sizeof(double)* *ysize);
data/pyferret-7.6.3/external_functions/matlab/matlab_link.c:64:3:  [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(cbuffer, "ferretdemo(FERRET_DATA', FERRET_XDATA', FERRET_YDATA');");
data/pyferret-7.6.3/external_functions/v5d/binio.c:713:4:  [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[8];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:353:11:  [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 day[7][10] = { "Sunday", "Monday", "Tuesday", "Wednesday",
data/pyferret-7.6.3/external_functions/v5d/v5d.c:888:7:  [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( compdata, data, nrncnl*4 );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:997:7:  [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, compdata, nrncnl*4 );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:1471:10:  [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 name[4];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:1558:10:  [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 name[8];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2096:9:  [2] (misc) open:
  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).
   fd = open( filename, O_RDONLY );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2464:9:  [2] (misc) open:
  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).
   fd = open( filename, O_WRONLY | O_CREAT | O_TRUNC, mask );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2493:9:  [2] (misc) open:
  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).
   fd = open( filename, O_RDWR );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2706:22:  [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.
               const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2742:4:  [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->ProjArgs, proj_args, MAXPROJARGS*sizeof(float) );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2755:6:  [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->VertArgs, vert_args, MAXVERTARGS*sizeof(float) );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2771:22:  [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.
               const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2805:28:  [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.
int v5dCreateSimple( const char *name, int numtimes, int numvars,
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2807:28:  [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.
                     const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2957:4:  [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 filename[100];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2958:4:  [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 names[MAX_V5_VARS][10];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:3175:4:  [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[20];
data/pyferret-7.6.3/external_functions/v5d/v5d.c:3240:4:  [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 filename[100];
data/pyferret-7.6.3/external_functions/v5d/v5d.h:84:35:  [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.
extern int v5dCreateSimple( const char *name,
data/pyferret-7.6.3/external_functions/v5d/v5d.h:87:35:  [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.
                            const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/external_functions/v5d/v5d.h:98:29:  [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.
                      const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/external_functions/v5d/v5d.h:142: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 VarName[MAX_V5_VARS][10];      /* 9-character variable names */
data/pyferret-7.6.3/external_functions/v5d/v5d.h:143: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 Units[MAX_V5_VARS][20];        /* 19-character units for variables */
data/pyferret-7.6.3/external_functions/v5d/v5d.h:242: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 FileVersion[10];    /* 9-character version number */
data/pyferret-7.6.3/external_functions/v5d/v5d.h:331: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.
										const char varname[MAX_V5_VARS][10],
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1222:3:  [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[EF_MAX_NAME_LENGTH]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1224:3:  [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 path[8192]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1225:3:  [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 allpaths[8192]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1226:3:  [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 cmd[EF_MAX_DESCRIPTION_LENGTH]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1449:7:  [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(ef.path, "internally_linked");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1603:9:  [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(errstring, "Module name too long (must be less than %d characters)", EF_MAX_DESCRIPTION_LENGTH);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1608:9:  [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(errstring, "Function name too long (must be less than %d characters)", EF_MAX_NAME_LENGTH);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1634: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(errstring, "Unable to allocate memory for the internals data in create_pyefcn");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1651: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(errstring, "Unable to set signal handlers in create_pyefcn");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1659: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(errstring, "Signal caught in create_pyefcn");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1667: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(errstring, "ef_bail_out called in create_pyefcn");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1701:3:  [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 tempText[1024];
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1727:7:  [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(tempText, ".so");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1814:3:  [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 tempText[EF_MAX_NAME_LENGTH]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1868:5:  [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(tempText, "_custom_axes_");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1888:7:  [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 errstring[2048];
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1942:3:  [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 tempText[EF_MAX_NAME_LENGTH]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2000:5:  [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(tempText, "_result_limits_");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2020:7:  [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 errstring[2048];
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2084:3:  [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 tempText[EF_MAX_NAME_LENGTH]="";
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2210:7:  [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(tempText, "_work_size_");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2343:5:  [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(tempText, "_compute_");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2643:7:  [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  errstring[2048];
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3176:5:  [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(string, "--");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3420:3:  [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 upname[EF_MAX_DESCRIPTION_LENGTH];
data/pyferret-7.6.3/fer/ccr/binaryRead.c:32:8:  [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 Errbuf[1024];       /* Store error messages */
data/pyferret-7.6.3/fer/ccr/binaryRead.c:37:3:  [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 type[MAXTYPES];
data/pyferret-7.6.3/fer/ccr/binaryRead.c:129:37:  [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 FileInfo *createBinaryReader(char *name, int lengths[MAXDIMS], int permutes[MAXDIMS], int skip, int swap)
data/pyferret-7.6.3/fer/ccr/binaryRead.c:166:12:  [2] (misc) open:
  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).
  fi->fd = open(fi->name, O_RDONLY);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:320: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(&buf.s, src, sizeof(short));
data/pyferret-7.6.3/fer/ccr/binaryRead.c:326: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(&buf.i, src, sizeof(int));
data/pyferret-7.6.3/fer/ccr/binaryRead.c:332: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(&buf.f, src, sizeof(float));
data/pyferret-7.6.3/fer/ccr/binaryRead.c:338: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(&buf.d, src, sizeof(double));
data/pyferret-7.6.3/fer/ccr/binaryRead.c:393:22:  [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.
int FORTRAN(br_open)(char *name, int lengths[MAXDIMS], int permutes[MAXDIMS], int *iskip)
data/pyferret-7.6.3/fer/ccr/binaryRead.c:491:3:  [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/pyferret-7.6.3/fer/ccr/init_c_string_array.c:51:4:  [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 msg[1024];
data/pyferret-7.6.3/fer/ccr/init_c_string_array.c:52:4:  [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(msg, "assigned as an array of %d 64-bit pointers (%d bytes) initialize to NULL", *length, (*length)*8);
data/pyferret-7.6.3/fer/ccr/list.c:192:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      (void) memcpy(new->data, data, bytes);
data/pyferret-7.6.3/fer/ccr/text_to_utf8.c:54: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 utf8chars[4];
data/pyferret-7.6.3/fer/ccr/write_dods.c:66:9:  [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).
    f = fopen (fileptr, "wb");
data/pyferret-7.6.3/fer/ccr/write_dods.c:68:9:  [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).
    f = fopen (fileptr, "ab");
data/pyferret-7.6.3/fer/ccr/write_dods.c:128:9:  [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).
    f = fopen (fileptr, "wb");
data/pyferret-7.6.3/fer/ccr/write_dods.c:130:9:  [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).
    f = fopen (fileptr, "ab");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind.h:63: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 name[256];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind.h:96: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 imagename[CCFB_NAME_SIZE];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind.h:139: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  wmark_filename[CCFB_NAME_SIZE];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginSegment.c:25: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(grdelerrmsg, "cairoCFerBind_beginSegment: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginView.c:38: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(grdelerrmsg, "cairoCFerBind_beginView: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginView.c:46:9:  [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(grdelerrmsg, "cairoCFerBind_beginView: invalid left (%#.3f) "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_beginView.c:51:9:  [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(grdelerrmsg, "cairoCFerBind_beginView: invalid top (%#.3f) "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clearWindow.c:30: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(grdelerrmsg, "cairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clearWindow.c:37: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(grdelerrmsg, "cairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clearWindow.c:45:13:  [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(grdelerrmsg, "cairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clearWindow.c:50:13:  [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(grdelerrmsg, "cairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_clipView.c:27: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(grdelerrmsg, "cairoCFerBind_clipView: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:33: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       stname[16];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:39: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(grdelerrmsg, "cairoCFerBind_createBrush: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:45: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(grdelerrmsg, "cairoCFerBind_createBrush: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:68: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(grdelerrmsg, "cairoCFerBind_createBrush: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createBrush.c:83:9:  [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(grdelerrmsg, "cairoCFerBind_createBrush: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:35: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(grdelerrmsg, "cairoCFerBind_createColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:42:9:  [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(grdelerrmsg, "cairoCFerBind_createColor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:47:9:  [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(grdelerrmsg, "cairoCFerBind_createColor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:52:9:  [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(grdelerrmsg, "cairoCFerBind_createColor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:57:9:  [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(grdelerrmsg, "cairoCFerBind_createColor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createColor.c:64: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(grdelerrmsg, "cairoCFerBind_createColor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:35: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(grdelerrmsg, "cairoCFerBind_createFont: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:40: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(grdelerrmsg, "cairoCFerBind_createFont: invalid font size given");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:53: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(grdelerrmsg, "cairoCFerBind_createFont: familyname is not given");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:57: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(grdelerrmsg, "cairoCFerBind_createFont: invalid familyname length given");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:63: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(grdelerrmsg, "cairoCFerBind_createFont: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:70: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(grdelerrmsg, "cairoCFerBind_createFont: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:106: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(grdelerrmsg, "cairoCFerBind_createFont: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:41: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              stname[16];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:49: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(grdelerrmsg, "cairoCFerBind_createPen: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:55: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(grdelerrmsg, "cairoCFerBind_createPen: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:65:9:  [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(grdelerrmsg, "cairoCFerBind_createPen: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:126: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(grdelerrmsg, "cairoCFerBind_createPen: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createPen.c:165:9:  [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(grdelerrmsg, "cairoCFerBind_createPen: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c:30: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(grdelerrmsg, "cairoCFerBind_createSurface: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c:44:13:  [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(grdelerrmsg, "cairoCFerBind_createSurface: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c:112: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(grdelerrmsg, "cairoCFerBind_createSurface: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSurface.c:131:13:  [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(grdelerrmsg, "cairoCFerBind_createSurface: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:67: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(grdelerrmsg, "cairoCFerBind_createSymbol: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:83: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(grdelerrmsg, "cairoCFerBind_createSymbol: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:91: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(grdelerrmsg, "cairoCFerBind_createSymbol: symbol name too long");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:102: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(grdelerrmsg, "cairoCFerBind_createSymbol: unable to create surface for symbol");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:111: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(grdelerrmsg, "cairoCFerBind_createSymbol: unable to create context for drawing the symbol");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:159:13:  [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(grdelerrmsg, "cairoCFerBind_createSymbol: symbol definition does not contain any drawn lines");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:270: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(grdelerrmsg, "cairoCFerBind_createSymbol: unable to generate path object for symbol");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createWindow.c:25: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(grdelerrmsg, "cairoCFerBind_createWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createWindow.c:78: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(grdelerrmsg, "cairoCFerBind_createWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteBrush.c:22: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(grdelerrmsg, "cairoCFerBind_deleteBrush: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteBrush.c:28: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(grdelerrmsg, "cairoCFerBind_deleteBrush: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteColor.c:22: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(grdelerrmsg, "cairoCFerBind_deleteColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteColor.c:28: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(grdelerrmsg, "cairoCFerBind_deleteColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteFont.c:22: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(grdelerrmsg, "cairoCFerBind_deleteFont: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteFont.c:29: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(grdelerrmsg, "cairoCFerBind_deleteFont: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deletePen.c:22: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(grdelerrmsg, "cairoCFerBind_deletePen: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deletePen.c:28: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(grdelerrmsg, "cairoCFerBind_deletePen: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSegment.c:30: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(grdelerrmsg, "cairoCFerBind_deleteSegment: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSegment.c:39: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(grdelerrmsg, "Unable to delete drawing segments when "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSymbol.c:23: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(grdelerrmsg, "cairoCFerBind_deleteSymbol: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteSymbol.c:29: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(grdelerrmsg, "cairoCFerBind_deleteSymbol: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_deleteWindow.c:27: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(grdelerrmsg, "cairoCFerBind_deleteWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawMultiline.c:38: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(grdelerrmsg, "cairoCFerBind_drawMultiline: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawMultiline.c:52: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(grdelerrmsg, "cairoCFerBind_drawMultiline: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawMultiline.c:57: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(grdelerrmsg, "cairoCFerBind_drawMultiline: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawMultiline.c:101: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(grdelerrmsg, "cairoCFerBind_drawMultiline: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPoints.c:32: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(grdelerrmsg, "cairoCFerBind_drawPoints: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPoints.c:46: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(grdelerrmsg, "cairoCFerBind_drawPoints: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPoints.c:52: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(grdelerrmsg, "cairoCFerBind_drawPoints: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPoints.c:58: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(grdelerrmsg, "cairoCFerBind_drawPoints: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:48: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(grdelerrmsg, "cairoCFerBind_drawPolygon: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:63:13:  [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(grdelerrmsg, "cairoCFerBind_drawPolygon: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:73:13:  [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(grdelerrmsg, "cairoCFerBind_drawPolygon: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:81: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(grdelerrmsg, "cairoCFerBind_drawPolygon: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:86: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(grdelerrmsg, "cairoCFerBind_drawPolygon: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawPolygon.c:206:13:  [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(grdelerrmsg, "cairoCFerBind_drawPolygon: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c:50: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(grdelerrmsg, "cairoCFerBind_drawRectangle: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c:65:13:  [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(grdelerrmsg, "cairoCFerBind_drawRectangle: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c:75:13:  [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(grdelerrmsg, "cairoCFerBind_drawRectangle: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c:83: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(grdelerrmsg, "cairoCFerBind_drawRectangle: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawRectangle.c:199:13:  [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(grdelerrmsg, "cairoCFerBind_drawRectangle: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:35: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(grdelerrmsg, "cairoCFerBind_drawText: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:49: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(grdelerrmsg, "cairoCFerBind_drawText: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:55: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(grdelerrmsg, "cairoCFerBind_drawText: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:60: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(grdelerrmsg, "cairoCFerBind_drawText: textlen is not positive");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:91: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(grdelerrmsg, "cairoCFerBind_drawText: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:121: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(grdelerrmsg, "cairoCFerBind_drawText: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endSegment.c:21: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(grdelerrmsg, "cairoCFerBind_endSegment: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:25: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(grdelerrmsg, "cairoCFerBind_endView: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:40:13:  [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(grdelerrmsg, "cairoCFerBind_endView: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:45:13:  [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(grdelerrmsg, "cairoCFerBind_endView: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_endView.c:53:13:  [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(grdelerrmsg, "cairoCFerBind_endView: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_redrawWindow.c:26: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(grdelerrmsg, "cairoCFerBind_redrawWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_redrawWindow.c:33: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(grdelerrmsg, "cairoCFerBind_redrawWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replaceBrushColor.c:24: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(grdelerrmsg, "cairoCFerBind_replaceBrushColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replaceBrushColor.c:30: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(grdelerrmsg, "cairoCFerBind_replaceBrushColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replaceBrushColor.c:36: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(grdelerrmsg, "cairoCFerBind_replaceBrushColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replacePenColor.c:24: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(grdelerrmsg, "cairoCFerBind_replacePenColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replacePenColor.c:30: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(grdelerrmsg, "cairoCFerBind_replacePenColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_replacePenColor.c:36: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(grdelerrmsg, "cairoCFerBind_replacePenColor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_resizeWindow.c:30: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(grdelerrmsg, "cairoCFerBind_resizeWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_resizeWindow.c:42:9:  [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(grdelerrmsg, "cairoCFerBind_resizeWindow: size too small, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:61: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               fmtext[8];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:73: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               savename[CCFB_NAME_SIZE];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:84: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(grdelerrmsg, "cairoCFerBind_saveWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:125: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(grdelerrmsg, "Annotations cannot be used with batch mode");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:153: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(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:158: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(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:192: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(fmtext, "PNG");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:196:13:  [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(&(savename[imgnamelen-4]), ".png");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:199: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(fmtext, "PDF");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:203:13:  [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(&(savename[imgnamelen-4]), ".pdf");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:217: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.
            j += strlen((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:220:13:  [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(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:226:37:  [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.
            strcpy(&(allannos[j]), (char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:227: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.
            j += strlen((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:255:13:  [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(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:263:13:  [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(grdelerrmsg, "cairoCFerBind_saveWindow: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:435: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(grdelerrmsg, "cairoCFerBind_saveWindow: problems creating "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_scaleWindow.c:21: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(grdelerrmsg, "cairoCFerBind_scaleWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setAntialias.c:26: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(grdelerrmsg, "cairoCFerBind_setAntialias: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:48: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 fmtext[8];
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:55: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(grdelerrmsg, "cairoCFerBind_setImageName: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:60:9:  [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(grdelerrmsg, "cairoCFerBind_setImageName: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:124:13:  [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(&(instdata->imagename[imgnamelen-4]), ".png");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:130:13:  [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(&(instdata->imagename[imgnamelen-4]), ".pdf");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWaterMark.c:34: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(grdelerrmsg, "cairoCFerBind_setWaterMark: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWaterMark.c:39:7:  [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(grdelerrmsg, "cairoCFerBind_setWaterMark: filename exceeds maximum length");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWidthFactor.c:23: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(grdelerrmsg, "cairoCFerBind_setWidthFactor: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWidthFactor.c:28: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(grdelerrmsg, "cairoCFerBind_setWidthFactor: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWindowDpi.c:24: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(grdelerrmsg, "cairoCFerBind_setWindowDpi: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_showWindow.c:20: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(grdelerrmsg, "cairoCFerBind_showWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:41: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(grdelerrmsg, "cairoCFerBind_textSize: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:55: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(grdelerrmsg, "cairoCFerBind_textSize: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:60: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(grdelerrmsg, "cairoCFerBind_textSize: textlen is not positive");
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:67: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(grdelerrmsg, "cairoCFerBind_textSize: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:104: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(grdelerrmsg, "cairoCFerBind_textSize: "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_updateWindow.c:18: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(grdelerrmsg, "cairoCFerBind_updateWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_windowScreenInfo.c:22: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(grdelerrmsg, "cairoCFerBind_windowScreenInfo: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/cferbind_createWindow.c:54:5:  [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(grdelerrmsg, "Unknown engine: ");
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_clearWindow.c:30: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(grdelerrmsg, "pyqtcairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_clearWindow.c:37: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(grdelerrmsg, "pyqtcairoCFerBind_clearWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_createWindow.c:27: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(grdelerrmsg, "pyqtcairoCFerBind_createWindow: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_createWindow.c:82: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(grdelerrmsg, "pyqtcairoCFerBind_createWindow: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_deleteWindow.c:25: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(grdelerrmsg, "pyqtcairoCFerBind_deleteWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_redrawWindow.c:24: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(grdelerrmsg, "pyqtcairoCFerBind_redrawWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_redrawWindow.c:31: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(grdelerrmsg, "pyqtcairoCFerBind_redrawWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_resizeWindow.c:28: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(grdelerrmsg, "pyqtcairoCFerBind_resizeWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_resizeWindow.c:40:9:  [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(grdelerrmsg, "pyqtcairoCFerBind_resizeWindow: size too small, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_saveWindow.c:56: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(grdelerrmsg, "pyqtcairoCFerBind_saveWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_scaleWindow.c:22: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(grdelerrmsg, "pyqtcairoCFerBind_scaleWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_setImageName.c:39: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(grdelerrmsg, "pyqtcairoCFerBind_setImageName: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_showWindow.c:22: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(grdelerrmsg, "pyqtcairoCFerBind_showWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:35: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(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:45: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(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: unexpected error, "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:83:13:  [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(grdelerrmsg, "pyqtCairoCFerBind_updateWindow: problems "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:91:13:  [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(grdelerrmsg, "pyqtCairoCFerBind_updateWindow: problems creating "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:125: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(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_updateWindow.c:136: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(grdelerrmsg, "pyqtcairoCFerBind_updateWindow: unexpected error "
data/pyferret-7.6.3/fer/cferbind/pyqtcairoCFerBind_windowScreenInfo.c:25: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(grdelerrmsg, "pyqtcairoCFerBind_windowScreenInfo: unexpected error, "
data/pyferret-7.6.3/fer/common/EF_Util.h:83:3:  [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 unit[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:96:3:  [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 description[EF_MAX_DESCRIPTION_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:97:3:  [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 alt_fcn_name[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:98:3:  [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 alt_base_fcn_name[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:116:3:  [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 arg_name[EF_MAX_ARGS][EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:117:3:  [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 arg_unit[EF_MAX_ARGS][EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:118:3:  [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 arg_desc[EF_MAX_ARGS][EF_MAX_DESCRIPTION_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:127:3:  [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 name[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/fer/common/EF_Util.h:128:3:  [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 path[EF_MAX_DESCRIPTION_LENGTH];
data/pyferret-7.6.3/fer/common/binaryRead.h:65:23:  [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.
int  FORTRAN(br_open)(char *name, int lengths[MAXDIMS], int permutes[MAXDIMS], int *iskip);
data/pyferret-7.6.3/fer/common/ferret_shared_buffer.h:26:2:  [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 text[TEXTLENGTH];
data/pyferret-7.6.3/fer/ef_utility/ef_set_num_args.c:14:11:  [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 err_msg[128];
data/pyferret-7.6.3/fer/ef_utility/ef_set_num_args.c:21:7:  [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(err_msg, "Number of arguments passed to ef_set_num_args (%d) "
data/pyferret-7.6.3/fer/efi/date_decode.c:61:3:  [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 str3[4],str1[2];
data/pyferret-7.6.3/fer/efi/date_decode.c:62:3:  [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 months[13][4] = {"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"};
data/pyferret-7.6.3/fer/efi/time_decode.c:56:3:  [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 str1[2];
data/pyferret-7.6.3/fer/efi/us2i_compare_string_list.c:56: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 astring[MAX_NAME];
data/pyferret-7.6.3/fer/grdel/brush.c:43: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(grdelerrmsg, "grdelBrush: window argument is not "
data/pyferret-7.6.3/fer/grdel/brush.c:49: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(grdelerrmsg, "grdelBrush: color argument is not "
data/pyferret-7.6.3/fer/grdel/brush.c:56: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(grdelerrmsg, "grdelBrush: out of memory for a new Brush");
data/pyferret-7.6.3/fer/grdel/brush.c:82: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(grdelerrmsg, "grdelBrush: unexpected error, "
data/pyferret-7.6.3/fer/grdel/brush.c:140: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(grdelerrmsg, "grdelBrushReplaceColor: brush argument is not "
data/pyferret-7.6.3/fer/grdel/brush.c:148: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(grdelerrmsg, "grdelBrushReplaceColor: color argument is not "
data/pyferret-7.6.3/fer/grdel/brush.c:174: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(grdelerrmsg, "grdelBrushReplaceColor: unexpected error, "
data/pyferret-7.6.3/fer/grdel/brush.c:205: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(grdelerrmsg, "grdelBrushDelete: brush argument is not "
data/pyferret-7.6.3/fer/grdel/brush.c:232: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(grdelerrmsg, "grdelBrushDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/color.c:48: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(grdelerrmsg, "grdelColor: window argument is not "
data/pyferret-7.6.3/fer/grdel/color.c:54:9:  [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(grdelerrmsg, "grdelColor: redfrac (%.2f) must be in [0.0, 1.0]", redfrac);
data/pyferret-7.6.3/fer/grdel/color.c:58:9:  [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(grdelerrmsg, "grdelColor: greenfrac (%.2f) must be in [0.0, 1.0]", greenfrac);
data/pyferret-7.6.3/fer/grdel/color.c:62:9:  [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(grdelerrmsg, "grdelColor: bluefrac (%.2f) must be in [0.0, 1.0]", bluefrac);
data/pyferret-7.6.3/fer/grdel/color.c:66:9:  [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(grdelerrmsg, "grdelColor: opaquefrac (%.2f) must be in [0.0, 1.0]", opaquefrac);
data/pyferret-7.6.3/fer/grdel/color.c:72: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(grdelerrmsg, "grdelColor: out of memory for a new Color");
data/pyferret-7.6.3/fer/grdel/color.c:100: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(grdelerrmsg, "grdelColor: unexpected error, "
data/pyferret-7.6.3/fer/grdel/color.c:159: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(grdelerrmsg, "grdelColorDelete: color argument is not "
data/pyferret-7.6.3/fer/grdel/color.c:186: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(grdelerrmsg, "grdelColorDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:52: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(grdelerrmsg, "grdelDrawMultiline: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:58: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(grdelerrmsg, "grdelDrawMultiline: pen argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:63: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(grdelerrmsg, "grdelDrawMultiline: invalid number of points");
data/pyferret-7.6.3/fer/grdel/draw.c:73: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(grdelerrmsg, "grdelDrawMultiline: out of memory "
data/pyferret-7.6.3/fer/grdel/draw.c:94:13:  [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(grdelerrmsg, "grdelDrawMultiline: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:103:17:  [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(grdelerrmsg, "grdelDrawMultiline: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:115:13:  [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(grdelerrmsg, "grdelDrawMultiline: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:125:17:  [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(grdelerrmsg, "grdelDrawMultiline: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:149: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(grdelerrmsg, "grdeldrawMultiline: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:203: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(grdelerrmsg, "grdelDrawPoints: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:209: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(grdelerrmsg, "grdelDrawPoints: symbol argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:215: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(grdelerrmsg, "grdelDrawPoints: color argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:222:13:  [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(grdelerrmsg, "grdelDrawPoints: highlight argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:231: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(grdelerrmsg, "grdelDrawPoints: invalid number of points");
data/pyferret-7.6.3/fer/grdel/draw.c:241: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(grdelerrmsg, "grdelDrawPoints: out of memory "
data/pyferret-7.6.3/fer/grdel/draw.c:263:13:  [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(grdelerrmsg, "grdelDrawPoints: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:272:17:  [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(grdelerrmsg, "grdelDrawPoints: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:284:13:  [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(grdelerrmsg, "grdelDrawPoints: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:294:17:  [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(grdelerrmsg, "grdelDrawPoints: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:321: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(grdelerrmsg, "grdeldrawPoints: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:374: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(grdelerrmsg, "grdelDrawPolygon: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:379: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(grdelerrmsg, "grdelDrawPolygon: neither a pen nor "
data/pyferret-7.6.3/fer/grdel/draw.c:386:13:  [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(grdelerrmsg, "grdelDrawPolygon: brush argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:396:13:  [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(grdelerrmsg, "grdelDrawPolygon: pen argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:404: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(grdelerrmsg, "grdelDrawPolygon: invalid number of points");
data/pyferret-7.6.3/fer/grdel/draw.c:414: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(grdelerrmsg, "grdelDrawPolygon: out of memory "
data/pyferret-7.6.3/fer/grdel/draw.c:435:13:  [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(grdelerrmsg, "grdelDrawPolygon: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:444:17:  [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(grdelerrmsg, "grdelDrawPolygon: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:456:13:  [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(grdelerrmsg, "grdelDrawPolygon: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:466:17:  [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(grdelerrmsg, "grdelDrawPolygon: problems creating "
data/pyferret-7.6.3/fer/grdel/draw.c:495: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(grdelerrmsg, "grdeldrawPolygon: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:541: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(grdelerrmsg, "grdelDrawRectangle: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:546: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(grdelerrmsg, "grdelDrawRectangle: neither a pen nor "
data/pyferret-7.6.3/fer/grdel/draw.c:553:13:  [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(grdelerrmsg, "grdelDrawRectangle: brush argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:563:13:  [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(grdelerrmsg, "grdelDrawRectangle: pen argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:606: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(grdelerrmsg, "grdeldrawRectangle: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:654: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(grdelerrmsg, "grdelTextSize: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:660: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(grdelerrmsg, "grdelTextSize: font argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:691: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(grdelerrmsg, "grdelTextSize: unexpected error, "
data/pyferret-7.6.3/fer/grdel/draw.c:751: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(grdelerrmsg, "grdelDrawText: window argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:757: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(grdelerrmsg, "grdelDrawText: font argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:763: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(grdelerrmsg, "grdelDrawText: color argument is not "
data/pyferret-7.6.3/fer/grdel/draw.c:796: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(grdelerrmsg, "grdelDrawText: unexpected error, "
data/pyferret-7.6.3/fer/grdel/font.c:52: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(grdelerrmsg, "grdelFont: window argument is not "
data/pyferret-7.6.3/fer/grdel/font.c:59: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(grdelerrmsg, "grdelFont: out of memory for a new Font");
data/pyferret-7.6.3/fer/grdel/font.c:107: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(grdelerrmsg, "grdelFont: unexpected error, "
data/pyferret-7.6.3/fer/grdel/font.c:166: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(grdelerrmsg, "grdelFontDelete: font argument is not "
data/pyferret-7.6.3/fer/grdel/font.c:193: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(grdelerrmsg, "grdelFontDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:46: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   dataline[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:50:15:  [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).
    symfile = fopen(filename, "r");
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:166: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            symdirs[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:170: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            filename[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:244: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            symdirs[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:248: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            lcname[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:249: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            filename[MAXLINELEN];
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:328: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(grdelerrmsg, "no symbol name given to getSymbolDef");
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:357:9:  [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(grdelerrmsg, "unknown symbol %.*s", namelen, symbolname);
data/pyferret-7.6.3/fer/grdel/grdel.h:61:8:  [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.
extern char grdelerrmsg[2048];
data/pyferret-7.6.3/fer/grdel/pen.c:51: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(grdelerrmsg, "grdelPen: window argument is not "
data/pyferret-7.6.3/fer/grdel/pen.c:57: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(grdelerrmsg, "grdelPen: color argument is not "
data/pyferret-7.6.3/fer/grdel/pen.c:64: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(grdelerrmsg, "grdelPen: out of memory for a new Pen");
data/pyferret-7.6.3/fer/grdel/pen.c:93: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(grdelerrmsg, "grdelPen: unexpected error, "
data/pyferret-7.6.3/fer/grdel/pen.c:151: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(grdelerrmsg, "grdelPenReplaceColor: pen argument is not "
data/pyferret-7.6.3/fer/grdel/pen.c:159: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(grdelerrmsg, "grdelPenReplaceColor: color argument is not "
data/pyferret-7.6.3/fer/grdel/pen.c:185: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(grdelerrmsg, "grdelPenReplaceColor: unexpected error, "
data/pyferret-7.6.3/fer/grdel/pen.c:216: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(grdelerrmsg, "grdelPenDelete: pen argument is not "
data/pyferret-7.6.3/fer/grdel/pen.c:243: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(grdelerrmsg, "grdelPenDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/symbol.c:20: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 name[256];
data/pyferret-7.6.3/fer/grdel/symbol.c:74: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(grdelerrmsg, "grdelSymbol: window argument is not "
data/pyferret-7.6.3/fer/grdel/symbol.c:81: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(grdelerrmsg, "grdelSymbol: out of memory for a new Symbol");
data/pyferret-7.6.3/fer/grdel/symbol.c:87: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(grdelerrmsg, "grdelSymbol: symbol name too long");
data/pyferret-7.6.3/fer/grdel/symbol.c:112:17:  [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(grdelerrmsg, "grdelSymbol: problems creating "
data/pyferret-7.6.3/fer/grdel/symbol.c:122:21:  [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(grdelerrmsg, "grdelSymbol: problems creating "
data/pyferret-7.6.3/fer/grdel/symbol.c:132:21:  [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(grdelerrmsg, "grdelSymbol: problems creating "
data/pyferret-7.6.3/fer/grdel/symbol.c:145:21:  [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(grdelerrmsg, "grdelSymbol: problems creating "
data/pyferret-7.6.3/fer/grdel/symbol.c:184: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(grdelerrmsg, "grdelSymbol: unexpected error, "
data/pyferret-7.6.3/fer/grdel/symbol.c:255: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(grdelerrmsg, "grdelSymbolDelete: symbol argument is not "
data/pyferret-7.6.3/fer/grdel/symbol.c:282: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(grdelerrmsg, "grdelSymbolDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:44: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).
    debuglogfile = fopen("grdeldebug.log", "w");
data/pyferret-7.6.3/fer/grdel/window.c:58:1:  [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 grdelerrmsg[2048];
data/pyferret-7.6.3/fer/grdel/window.c:110: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(grdelerrmsg, "grdelWindowCreate: out of memory for a new Window");
data/pyferret-7.6.3/fer/grdel/window.c:231: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(grdelerrmsg, "grdelWindowDelete: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:270:13:  [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(grdelerrmsg, "grdelWindowDelete: deleteWindow method "
data/pyferret-7.6.3/fer/grdel/window.c:277: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(grdelerrmsg, "grdelWindowDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:313: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(grdelerrmsg, "grdelWindowFree: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:332: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(grdelerrmsg, "grdelWindowFree: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:344:5:  [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(grdelerrmsg, "window was closed");
data/pyferret-7.6.3/fer/grdel/window.c:382: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(grdelerrmsg, "grdelWindowSetImageName: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:409: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(grdelerrmsg, "grdelWindowClear: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:442: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(grdelerrmsg, "grdelWindowClear: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c: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(grdelerrmsg, "grdelWindowClear: bkgcolor argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:473: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(grdelerrmsg, "grdelWindowClear: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:505: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(grdelerrmsg, "grdelWindowRedraw: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:512: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(grdelerrmsg, "grdelWindowRedraw: bkgcolor argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:536: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(grdelerrmsg, "grdelWindowRedraw: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:566: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(grdelerrmsg, "grdelWindowUpdate: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:592: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(grdelerrmsg, "grdelWindowUpdate: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:625: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(grdelerrmsg, "grdelWindowSetAntialias: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:654: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(grdelerrmsg, "grdelWindowSetAntialias: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:688: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(grdelerrmsg, "grdelWindowSetSize: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:714: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(grdelerrmsg, "grdelWindowSetSize: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:745: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(grdelerrmsg, "grdelWindowSetScale: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:771: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(grdelerrmsg, "grdelWindowSetScale: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:804: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(grdelerrmsg, "grdelWindowSetVisible: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:833: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(grdelerrmsg, "grdelWindowSetVisible: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:887: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(grdelerrmsg, "grdelWindowSave: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:913:17:  [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(grdelerrmsg, "grdelWindowSave: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:919:52:  [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.
                annostrobj = PyUnicode_FromString((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/grdel/window.c:921:51:  [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.
                annostrobj = PyString_FromString((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/grdel/window.c:925:21:  [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(grdelerrmsg, "grdelWindowSave: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:951: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(grdelerrmsg, "grdelWindowSave: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:989: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(grdelerrmsg, "grdelWindowScreenInfo: window argument is not a grdel Window");
data/pyferret-7.6.3/fer/grdel/window.c:1020: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(grdelerrmsg, "grdelWindowScreenInfo: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1060: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(grdelerrmsg, "grdelWindowSetDpi: "
data/pyferret-7.6.3/fer/grdel/window.c:1071: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(grdelerrmsg, "grdelWindowSetDpi: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1106: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(grdelerrmsg, "grdelWindowSetWidthFactor: "
data/pyferret-7.6.3/fer/grdel/window.c:1131: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(grdelerrmsg, "grdelWindowSetWidthFactor: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1494: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(grdelerrmsg, "grdelWindowViewBegin: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:1500: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(grdelerrmsg, "grdelWindowViewBegin: window "
data/pyferret-7.6.3/fer/grdel/window.c:1533: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(grdelerrmsg, "grdelWindowViewBegin: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1567: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(grdelerrmsg, "grdelWindowViewClip: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:1573: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(grdelerrmsg, "grdelWindowViewClip: window does not "
data/pyferret-7.6.3/fer/grdel/window.c:1601: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(grdelerrmsg, "grdelWindowViewClip: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1631: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(grdelerrmsg, "grdelWindowViewEnd: window argument is not "
data/pyferret-7.6.3/fer/grdel/window.c:1637: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(grdelerrmsg, "grdelWindowViewEnd: window does not "
data/pyferret-7.6.3/fer/grdel/window.c:1660: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(grdelerrmsg, "grdelWindowViewEnd: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1765: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(grdelerrmsg, "grdelWindowSegmentBegin: window argument "
data/pyferret-7.6.3/fer/grdel/window.c:1771: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(grdelerrmsg, "grdelWindowSegmentBegin: window "
data/pyferret-7.6.3/fer/grdel/window.c:1795: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(grdelerrmsg, "grdelWindowSegmentBegin: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1826: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(grdelerrmsg, "grdelWindowSegmentEnd: window argument "
data/pyferret-7.6.3/fer/grdel/window.c:1832: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(grdelerrmsg, "grdelWindowSegmentEnd: window does not "
data/pyferret-7.6.3/fer/grdel/window.c:1855: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(grdelerrmsg, "grdelWindowSegmentEnd: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1889: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(grdelerrmsg, "grdelWindowSegmentDelete: window argument "
data/pyferret-7.6.3/fer/grdel/window.c:1914: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(grdelerrmsg, "grdelWindowSegmentDelete: unexpected error, "
data/pyferret-7.6.3/fer/grdel/window.c:1943: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(grdelerrmsg, "grdelWindowSetWmark: window argument "
data/pyferret-7.6.3/fer/grdel/window.c:1968: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(grdelerrmsg, "grdelWindowSetWmark: unexpected error, "
data/pyferret-7.6.3/fer/special/FerMem_routines.c:46:21:  [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).
        debugfile = fopen(DEBUGFILENAME, "w");
data/pyferret-7.6.3/fer/special/FerMem_routines.c:49:21:  [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).
        debugfile = fopen(DEBUGFILENAME, "a");
data/pyferret-7.6.3/fer/special/FerMem_routines.c:69: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    filename[FERMEM_MAXLEN];
data/pyferret-7.6.3/fer/special/FerMem_routines.c:241: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 msg[256];
data/pyferret-7.6.3/fer/special/FerMem_routines.c:248:5:  [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(msg, "memory malloc allocated for %ld bytes", size);
data/pyferret-7.6.3/fer/special/FerMem_routines.c:278: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   msg[256];
data/pyferret-7.6.3/fer/special/FerMem_routines.c:292:9:  [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(msg, "memory to be realloc freed for %ld bytes", oldsize);
data/pyferret-7.6.3/fer/special/FerMem_routines.c:301:5:  [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(msg, "memory realloc allocated for %ld bytes", size);
data/pyferret-7.6.3/fer/special/FerMem_routines.c:334: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   msg[256];
data/pyferret-7.6.3/fer/special/FerMem_routines.c:346:5:  [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(msg, "memory to be free freed for %ld bytes", size);
data/pyferret-7.6.3/fmt/cmn/NCF_Util.h:88: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 name[NC_MAX_NAME];
data/pyferret-7.6.3/fmt/cmn/NCF_Util.h:93:2:  [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 fullpath[MAX_PATH_NAME];
data/pyferret-7.6.3/fmt/cmn/NCF_Util.h:94:2:  [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 fername[MAX_FER_SETNAME];
data/pyferret-7.6.3/fmt/cmn/NCF_Util.h:110:2:  [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 name[NC_MAX_NAME];
data/pyferret-7.6.3/fmt/cmn/NCF_Util.h:135:2:  [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 name[NC_MAX_NAME];
data/pyferret-7.6.3/fmt/src/NCF_Util.c:720:5:  [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(nc.fername, "UserVariables");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:743:5:  [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(att.name, "FerretUserVariables" );
data/pyferret-7.6.3/fmt/src/NCF_Util.c:784:5:  [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(nc.fername, "UserCoordVariables");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:803:5:  [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(att.name, "FerretUserCoordVariables" );
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1233:13:  [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 (att.name, "orig_file_axname");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1300:5:  [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(att.name, "history");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1672:5:  [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(att.name, "long_name");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1691: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(att.name, "units");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1707:5:  [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(att.name,"missing_value");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1824: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(att.name, "units");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2653:5:  [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(att.name, "aggregate name" );
data/pyferret-7.6.3/fmt/src/cd_read_sub.c:238:24:  [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.
         *strptrptr = (char *) FerMem_Malloc((strlen(strarray[i]) + 1) * sizeof(char), __FILE__, __LINE__);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:212:8:  [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).
  fp = fopen(fname,"r");
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:288:8:  [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).
  fp = fopen(fname,"r");
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:375:3:  [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 *p, *pnext, str1[2], errstr[2];
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:775:3:  [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 *p, *pnext, pstart[256], str1[2], latlon1[2];
data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c:73:8:  [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 static_line[STATIC_LINE_LEN];
data/pyferret-7.6.3/fmt/src/tm_make_relative_ver.c:56:3:  [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 temp_ver[32];
data/pyferret-7.6.3/fmt/src/tm_number_sub.c:54:3:  [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 kval[2048];
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:79:4:  [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 tbuff[4];
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:162:5:  [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( next_name+len+2, "%d", high+1 );
data/pyferret-7.6.3/pyfermod/copy_pystat_data.c:78:5:  [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(dest, data, (size_t)num_items * sizeof(double));
data/pyferret-7.6.3/pyfermod/libpyferret.c:130:8:  [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 *(signal_names[MAX_SIGHANDLERS]);
data/pyferret-7.6.3/pyfermod/libpyferret.c:396:8:  [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 my_meta_name[2048];
data/pyferret-7.6.3/pyfermod/libpyferret.c:521: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 errmsg[2112];
data/pyferret-7.6.3/pyfermod/libpyferret.c:696: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           dataname[1024];
data/pyferret-7.6.3/pyfermod/libpyferret.c:700: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           dataunit[64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:703: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           errmsg[2112];
data/pyferret-7.6.3/pyfermod/libpyferret.c:714: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           axis_units[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:715: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           axis_names[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:900:17:  [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(errmsg, "Unexpected calendar type of %d", calendar_type);
data/pyferret-7.6.3/pyfermod/libpyferret.c:920: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(errmsg, "Unexpected axis type of %d", axis_types[k]);
data/pyferret-7.6.3/pyfermod/libpyferret.c:995: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           axis_names[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:996: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           axis_units[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1007: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           errmsg[2048];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1303: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           dataname[1024];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1308: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           errmsg[2112];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1323: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           axis_units[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1324: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           axis_names[MAX_FERRET_NDIM][64];
data/pyferret-7.6.3/pyfermod/libpyferret.c:1557:17:  [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(errmsg, "Unexpected calendar type of %d", calendar_type);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1577: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(errmsg, "Unexpected axis type of %d", axis_types[k]);
data/pyferret-7.6.3/pyfermod/libpyferret.c:2029: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              name[80];
data/pyferret-7.6.3/pyfermod/libpyferret.c:2030: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              unit[80];
data/pyferret-7.6.3/pyfermod/libpyferret.c:2147: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              str_val[2048];
data/pyferret-7.6.3/pyfermod/libpyferret.c:2257: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 names[64][32];
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:104:9:  [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(errmsg, "Unexpected number of arrays (%d) passed to pyefcn_compute", numarrays);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:217:21:  [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(errmsg, "Unable to create ndarray[%d]", j);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:233:21:  [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(errmsg, "Problems creating a Python float from input argument %d", j);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:258:25:  [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(errmsg, "Unable to create ndarray[%d]", j);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:302:25:  [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(errmsg, "Unable to create ndarray[%d]", j);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:325:41:  [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.
                                strcpy((char *) PyArray_GetPtr(ndarrays[j], indices), *((char **) dptr));
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:346:73:  [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.
                ndarrays[j] = (PyArrayObject *) PyUnicode_FromString(*((char **) (data[j])));
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:348:72:  [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.
                ndarrays[j] = (PyArrayObject *) PyString_FromString(*((char **) (data[j])));
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:353:21:  [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(errmsg, "Problems creating a Python string from input argument %d", j);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:365:17:  [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(errmsg, "Unexpected error: unknown datatypes[%d] of %d", j, datatypes[j]);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:394: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(errmsg, "Unable to create input badvals ndarray");
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:407: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(errmsg, "Unable to create result badvals ndarray");
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:474:31:  [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.
                    strptr = (char *) PyArray_GetPtr(ndarrays[0], indices);
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:44:14:  [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 const char *AXIS_NAMES[MAX_FERRET_NDIM] = { "X", "Y", "Z", "T", "E", "F" };
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:62: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       unit_name[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/pyfermod/pyefcn_get_error.c:45:12:  [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 errmsg[512];
data/pyferret-7.6.3/pyfermod/pyefcn_get_error.c:75:13:  [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(errmsg, "Exception raised with no message");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:44:14:  [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 const char *AXIS_NAMES[MAX_FERRET_NDIM] = { "X", "Y", "Z", "T", "E", "F" };
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:58: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       descript[EF_MAX_DESCRIPTION_LENGTH];
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:66: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       name[EF_MAX_NAME_LENGTH];
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:140: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(errmsg, "Invalid \"numargs\" value (not an integer [0-9])");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:163: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(errmsg, "Invalid \"descript\" value (not a string)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:189:13:  [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(errmsg, "Invalid \"restype\" value (not FLOAT_ARRAY nor STRING_ARRAY)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:213:13:  [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(errmsg, "Invalid \"resstrlen\" value (not a positive integer)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:233:13:  [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(errmsg, "Invalid \"axes\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:240: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(errmsg, "Invalid \"axes\" value (tuple or list with more than %d items)",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:307:13:  [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(errmsg, "Invalid \"piecemeal\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:314: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(errmsg, "Invalid \"piecemeal\" value (tuple or list with more than %d items)",
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:335:17:  [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(errmsg, "Invalid \"piecemeal\" value (not True or False)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:353:13:  [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(errmsg, "Invalid \"argnames\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:360:13:  [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(errmsg, "Invalid \"argnames\" value (tuple or list with too many items)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:387:17:  [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(errmsg, "Invalid \"argnames\" value (not a string) for the ARG%d", j+1);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:405:13:  [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(errmsg, "Invalid \"argdescripts\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:412:13:  [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(errmsg, "Invalid \"argdescripts\" value (tuple or list with too many items)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:439:17:  [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(errmsg, "Invalid \"argdescripts\" value (not a string) for the ARG%d", j+1);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:463:13:  [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(errmsg, "Invalid \"argtypes\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:470:13:  [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(errmsg, "Invalid \"argtypes\" value (tuple or list with too many items)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:503:21:  [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(errmsg, "Unknown \"argtypes\" value for ARG%d", j+1);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:523:13:  [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(errmsg, "Invalid \"influences\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:530:13:  [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(errmsg, "Invalid \"influences\" value (tuple or list with too many items)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:550:21:  [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(errmsg, "Invalid \"influences\" value (not None, a tuple, or a list) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:559:21:  [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(errmsg, "Invalid \"influences\" value (tuple or list with more than %d items) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:610:13:  [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(errmsg, "Invalid \"extends\" value (not a tuple or list)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:617:13:  [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(errmsg, "Invalid \"extends\" value (tuple or list with too many items)");
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:629:21:  [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(errmsg, "Invalid \"extends\" value (not None, a tuple, or a list) "
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:638:21:  [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(errmsg, "Invalid \"extends\" value (tuple or list with more than %d items) "
data/pyferret-7.6.3/pyfermod/pyefcn_result_limits.c:44:14:  [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 const char *AXIS_NAMES[MAX_FERRET_NDIM] = { "X", "Y", "Z", "T", "E", "F" };
data/pyferret-7.6.3/pyfermod/pyferret.h:82:76:  [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.
void FORTRAN(get_str_data_array_params)(char dataname[], int *lendataname, char ***arraystart,
data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c:64:7:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  if (sscanf(strdate,"%d/%d/%d%1s",&im,&id,&iy,str1) == 3)
data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c:69:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strdate,"%d-%d-%d%1s",&iy,&im,&id,str1) == 3)
data/pyferret-7.6.3/external_functions/date_and_time/date_decode.c:74:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strdate,"%d-%3s-%d%1s",&id,str3,&iy,str1) == 3)
data/pyferret-7.6.3/external_functions/date_and_time/time_decode.c:62:7:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  if (sscanf(strtime,"%d:%d:%f%1s",&ih,&im,&ss,str1) == 3)
data/pyferret-7.6.3/external_functions/date_and_time/time_decode.c:67:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strtime,"%d:%d%1s",&ih,&im,str1) == 2)
data/pyferret-7.6.3/external_functions/matlab/matlab_func_link.c:78:7:  [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 (strlen(buffer) > 1)
data/pyferret-7.6.3/external_functions/v5d/binio.c:263:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   return read( f, b, n );
data/pyferret-7.6.3/external_functions/v5d/binio.c:283:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   nread = read( f, buffer, n*2 );
data/pyferret-7.6.3/external_functions/v5d/binio.c:293:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   int nread = read( f, iarray, n*2 );
data/pyferret-7.6.3/external_functions/v5d/binio.c:320:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   nread = read( f, buffer, n*2 );
data/pyferret-7.6.3/external_functions/v5d/binio.c:329:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   int nread = read( f, iarray, n*2 );
data/pyferret-7.6.3/external_functions/v5d/binio.c:352:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   if (read( f, &n, 4 )==4) {
data/pyferret-7.6.3/external_functions/v5d/binio.c:360:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   if (read( f, i, 4 )==4) {
data/pyferret-7.6.3/external_functions/v5d/binio.c:390:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   nread = read( f, buffer, 4*n );
data/pyferret-7.6.3/external_functions/v5d/binio.c:407:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   int nread = read( f, iarray, 4*n );
data/pyferret-7.6.3/external_functions/v5d/binio.c:430:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   if ( read( f, &buffer, 4 )==4 ) {
data/pyferret-7.6.3/external_functions/v5d/binio.c:439:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read( f, &n, 4 )==4) {
data/pyferret-7.6.3/external_functions/v5d/binio.c:448:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read( f, x, 4 )==4) {
data/pyferret-7.6.3/external_functions/v5d/binio.c:476:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   nread = read( f, buffer, n*4 );
data/pyferret-7.6.3/external_functions/v5d/binio.c:483:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   int nread = read( f, x, 4*n );
data/pyferret-7.6.3/external_functions/v5d/binio.c:506:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return read( f, data, elements );
data/pyferret-7.6.3/external_functions/v5d/binio.c:511:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      n = read( f, data, elements*2 ) / 2;
data/pyferret-7.6.3/external_functions/v5d/binio.c:518:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return read( f, data, elements*2 ) / 2;
data/pyferret-7.6.3/external_functions/v5d/binio.c:524:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      n = read( f, data, elements*4 ) / 4;
data/pyferret-7.6.3/external_functions/v5d/binio.c:530:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return read( f, data, elements*4 ) / 4;
data/pyferret-7.6.3/external_functions/v5d/v5d.c:231:11:  [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).
   return strlen(dst);
data/pyferret-7.6.3/external_functions/v5d/v5d.c:1480:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy( v->VarName[i], name, 4 );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:1569:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy( v->VarName[iv], name, 8 );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2728:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy( v->VarName[var], varname[var], 10 );
data/pyferret-7.6.3/external_functions/v5d/v5d.c:2873:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( Simple->Units[var-1], units, 19 );
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1484: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).
      if (path[strlen(path)-1] != '/')
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1485:9:  [1] (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 character.
        strcat(path, "/");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1501: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).
         extension = &(file[strlen(file)-1]);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1604: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1609: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1621:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(ef.name, fname, *lenfname);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1623:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(ef.path, pymod, *lenpymod);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1635: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1652: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1660: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1668: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).
        *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1678: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).
    *lenerrstring = strlen(errstring);
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:1912:12:  [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 ( strlen(errstring) > 0 ) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2044:12:  [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 ( strlen(errstring) > 0 ) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2693:12:  [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 ( strlen(errstring) > 0 ) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:2913: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).
  alt_str_name[strlen(alt_str_name)] = ' ';
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3166:14:  [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).
  for (i=0;i<strlen(ef_ptr->internals_ptr->arg_name[index]);i++) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3299:3:  [1] (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 character.
  strcpy(i_ptr->description, "");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3324:5:  [1] (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 character.
    strcpy(i_ptr->arg_name[i], "");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3325:5:  [1] (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 character.
    strcpy(i_ptr->arg_unit[i], "");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3326:5:  [1] (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 character.
    strcpy(i_ptr->arg_desc[i], "");
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3423:15:  [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).
  for (i=0; i<strlen(ef_ptr->name); i++) {
data/pyferret-7.6.3/fer/ccr/EF_InternalUtil.c:3430: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).
  for (i=0, t=data; i<strlen(data); i++, t++) {
data/pyferret-7.6.3/fer/ccr/batch_graphics.c:49:12:  [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).
  length = strlen(outfile);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:140:36:  [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).
  fi->name = (char *)FerMem_Malloc(strlen(name)+1, __FILE__, __LINE__);
data/pyferret-7.6.3/fer/ccr/binaryRead.c:454:7:  [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 (strlen(type) != 2)
data/pyferret-7.6.3/fer/ccr/c_dncase.c:68:54:  [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).
   *out_ptr = (char *) FerMem_Malloc(sizeof(char) * (strlen(*in_ptr)+1), __FILE__, __LINE__);
data/pyferret-7.6.3/fer/ccr/c_strcat.c:63:14:  [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).
      len1 = strlen(*in_ptr1);
data/pyferret-7.6.3/fer/ccr/c_strcat.c:67:14:  [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).
      len2 = strlen(*in_ptr2);
data/pyferret-7.6.3/fer/ccr/c_strlen.c:54:18:  [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).
      *out_ptr = strlen(*in_ptr);
data/pyferret-7.6.3/fer/ccr/c_upcase.c:68:54:  [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).
   *out_ptr = (char *) FerMem_Malloc(sizeof(char) * (strlen(*in_ptr) + 1), __FILE__, __LINE__);
data/pyferret-7.6.3/fer/ccr/copy_c_string.c:63:54:  [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).
   *out_ptr = (char *) FerMem_Malloc(sizeof(char) * (strlen(*in_ptr) + 1), __FILE__, __LINE__);
data/pyferret-7.6.3/fer/ccr/get_c_string.c:55:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(outstring, str1, *maxlen);
data/pyferret-7.6.3/fer/ccr/get_c_string_len.c:51: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).
   return (int)strlen(*ptr_ptr);
data/pyferret-7.6.3/fer/ccr/get_max_c_string_len.c:56:17:  [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).
         slen = strlen(*each_str_ptr);
data/pyferret-7.6.3/fer/ccr/get_offset_c_string_len.c:56: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).
   return (int)strlen(*each_str_ptr);
data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c:101:18:  [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).
          slen = strlen(buf);
data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c:124:27:  [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).
                   slen = strlen(buf);
data/pyferret-7.6.3/fer/ccr/get_sys_cmnd.c:135:62:  [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).
          pmnt = (char *) FerMem_Malloc(sizeof(char) * (int)(strlen(buf)+1), __FILE__, __LINE__);
data/pyferret-7.6.3/fer/ccr/write_dods.c:61:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy (fileptr, filename, *slen);
data/pyferret-7.6.3/fer/ccr/write_dods.c:123:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy (fileptr, filename, *slen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createFont.c:75:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(family, familyname, namelen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_createSymbol.c:95:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(symbolobj->name, symbolname, namelen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_drawText.c:95:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(utf8str, text, textlen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:148:22:  [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).
        imgnamelen = strlen(instdata->imagename);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:163:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(savename, imagename, imgnamelen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:217:18:  [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).
            j += strlen((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_saveWindow.c:227:18:  [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).
            j += strlen((char *) annotations[k * 8 / sizeof(void *)]);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setImageName.c:117:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(instdata->imagename, imagename, imgnamelen);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_setWaterMark.c:45:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(instdata->wmark_filename, filename, len_filename);
data/pyferret-7.6.3/fer/cferbind/cairoCFerBind_textSize.c:71:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(utf8str, text, textlen);
data/pyferret-7.6.3/fer/cferbind/cferbind_createWindow.c:59:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(grdelerrmsg + 16, enginename, k);
data/pyferret-7.6.3/fer/ef_utility/ef_put_string_ptr.c:18:53:  [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).
  *out_ptr = (char *) FerMem_Malloc(sizeof(char) * (strlen(*in_ptr)+1), __FILE__, __LINE__);
data/pyferret-7.6.3/fer/efi/date_decode.c:66:7:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  if (sscanf(strdate,"%d/%d/%d%1s",&im,&id,&iy,str1) == 3)
data/pyferret-7.6.3/fer/efi/date_decode.c:71:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strdate,"%d-%d-%d%1s",&iy,&im,&id,str1) == 3)
data/pyferret-7.6.3/fer/efi/date_decode.c:76:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strdate,"%d-%3s-%d%1s",&id,str3,&iy,str1) == 3)
data/pyferret-7.6.3/fer/efi/time_decode.c:58:7:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  if (sscanf(strtime,"%d:%d:%lf%1s",&ih,&im,&ss,str1) == 3)
data/pyferret-7.6.3/fer/efi/time_decode.c:63:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
  else if (sscanf(strtime,"%d:%d%1s",&ih,&im,str1) == 2)
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:92:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(infoptr->name, symname, symnamelen);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:127:20:  [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 namelen = strlen(direntry->d_name);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:186:10:  [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 ( strlen(envval) >= MAXLINELEN ) {
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:206:79:  [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).
            infoptr = readSymbolDefFile(filename, namelist[numfiles]->d_name, strlen(namelist[numfiles]->d_name) - SYMFILEEXTLEN);
data/pyferret-7.6.3/fer/grdel/getSymbolDef.c:259:10:  [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 ( strlen(envval) >= MAXLINELEN ) {
data/pyferret-7.6.3/fer/grdel/symbol.c:91:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(symbol->name, symbolname, symbolnamelen);
data/pyferret-7.6.3/fer/grdel/symbol.c:193:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(name, symbolname, symbolnamelen);
data/pyferret-7.6.3/fer/grdel/window.c:76:18:  [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).
    *errmsglen = strlen(grdelerrmsg);
data/pyferret-7.6.3/fer/grdel/window.c:77:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(errmsg, grdelerrmsg, *errmsglen);
data/pyferret-7.6.3/fer/special/FerMem_routines.c:142:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(memptr->filename, filename, FERMEM_MAXLEN);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:189: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).
    *namelen = strlen(dname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:214: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).
    *len_newvarname = strlen(newvarname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:293: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).
    *namelen = strlen(attname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:355:14:  [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).
        sz = strlen(dname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:356:17:  [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).
        szdim = strlen(nc_ptr->dims[idim].name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:381:17:  [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).
    *len_name = strlen(string);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:609: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).
    *namelen = strlen(attname);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:648:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(string, att_ptr->string, *len);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:652:9:  [1] (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 character.
        strcpy(string, "");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:721:5:  [1] (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 character.
    strcpy(nc.fullpath, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:727:5:  [1] (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 character.
    strcpy(var.name, ".");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:745:5:  [1] (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 character.
    strcpy(att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:785:5:  [1] (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 character.
    strcpy(nc.fullpath, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:792:5:  [1] (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 character.
    strcpy(var.name, "."); /*is this a legal name?*/
data/pyferret-7.6.3/fmt/src/NCF_Util.c:805:5:  [1] (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 character.
    strcpy(att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:900:9:  [1] (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 character.
        strcpy(var.name, ".");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:933:25:  [1] (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 character.
                        strcpy(att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:957:43:  [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).
                               att.len += strlen(strarray[idx]) + 1;
data/pyferret-7.6.3/fmt/src/NCF_Util.c:962: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).
                            strptr += strlen(strarray[0]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:965:32:  [1] (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 character.
                               strcpy(strptr, "\n");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:968:42:  [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).
                               strptr += strlen(strarray[idx]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1059:26:  [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 ( strlen(strptr) > 1 )
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1128:25:  [1] (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 character.
                        strcpy(att.string," ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1136:29:  [1] (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 character.
                            strcpy (att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1141:33:  [1] (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 character.
                                strcpy(att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1153:40:  [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).
                                ilen = strlen(att.string);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1166:33:  [1] (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 character.
                                strcpy(att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1173:47:  [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).
                                   att.len += strlen(strarray[idx]) + 1;
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1177:43:  [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).
                                strptr += strlen(strarray[0]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1180:36:  [1] (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 character.
                                   strcpy(strptr, "\n");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1183:46:  [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).
                                   strptr += strlen(strarray[idx]);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1207:33:  [1] (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 character.
                                strcpy (att.string, " ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1236: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).
            att.len = strlen(var.name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1285:5:  [1] (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 character.
    strcpy(var.name, ".");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1299:15:  [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).
    att.len = strlen(name);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1677:15:  [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).
    att.len = strlen(title);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1687:9:  [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 (strlen(units) > 0 ) {
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1692: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).
        att.len = strlen(units);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1820:10:  [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 ( strlen(units) > 0 ) {
data/pyferret-7.6.3/fmt/src/NCF_Util.c:1825: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).
        att.len = strlen(units);
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2148:9:  [1] (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 character.
        strcpy(att_ptr->string," ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2237:9:  [1] (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 character.
        strcpy(att_ptr->string," ");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2641:5:  [1] (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 character.
    strcpy(var.name, ".");
data/pyferret-7.6.3/fmt/src/NCF_Util.c:2654:15:  [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).
    att.len = strlen(name);
data/pyferret-7.6.3/fmt/src/cd_rd_str_1_sub.c:112:11:  [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).
	  *slen= strlen(buff);
data/pyferret-7.6.3/fmt/src/cd_rd_str_1_sub.c:131:11:  [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).
	  *slen= strlen(buff);
data/pyferret-7.6.3/fmt/src/cd_read_sub.c:238:47:  [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).
         *strptrptr = (char *) FerMem_Malloc((strlen(strarray[i]) + 1) * sizeof(char), __FILE__, __LINE__);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:232: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).
	  if ((slen = strlen(startptr)) > 0)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:315: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).
	  if ((slen = strlen(startptr)) > 0)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:418:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%lf%1[Nn]%1s",&dummy,str1,errstr) == 2)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:422:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( sscanf(p,"%lf%1s",&dummy,errstr ) != 1)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:424:13:  [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).
	else if (p[strlen(p)-1] == 'e' || p[strlen(p)-1] == 'E') 
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:424:38:  [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).
	else if (p[strlen(p)-1] == 'e' || p[strlen(p)-1] == 'E') 
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:432:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%lf%[Ee]%1s",&dummy,str1,errstr) == 2)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:439:13:  [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).
	else if (p[strlen(p)-1] == 'e' || p[strlen(p)-1] == 'E') 
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:439:38:  [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).
	else if (p[strlen(p)-1] == 'e' || p[strlen(p)-1] == 'E') 
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:441:12:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( sscanf(p,"%lf%1s",&dummy,errstr ) != 1)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:450:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%d/%d/%d%1s",&idummy1,&idummy2,&idummy3,errstr) == 3) {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:482:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	} else if (sscanf(p,"%4d-%2d-%2d%1s",
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:490:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( (sscanf(p,"%4d%2d%2d%1s",&idummy1,&idummy2,&idummy3,str1)==3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:509:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%d/%d/%d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr) >= 4) {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:517:11:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	  ndum = sscanf(p,"%d/%d/%d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:546:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	} else if (sscanf(p,"%4d-%2d-%2d %d:%d:%lf%1s",
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:549:10:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
		ndum = sscanf(p,"%4d-%2d-%2d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:562:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( (sscanf(p,"%4d%2d%2d%1s",&idummy1,&idummy2,&idummy3,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:577:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%d/%d/%d%1s",&idummy1,&idummy2,&idummy3,errstr) == 3) {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:609:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	} else if (sscanf(p,"%4d-%2d-%2d%1s",
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:616:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( (sscanf(p,"%4d%2d%2d%1s",&idummy1,&idummy2,&idummy3,str1)==3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:636:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%d/%d/%d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr) >= 4) {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:644:11:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	  ndum = sscanf(p,"%d/%d/%d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:673:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	} else if (sscanf(p,"%4d-%2d-%2d %d:%d:%lf%1s",
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:676:10:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
		ndum = sscanf(p,"%4d-%2d-%2d %d:%d:%lf%1s",&idummy1,&idummy2,&idummy3,&idummy4,&idummy5,&dummy,errstr);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:689:13:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if ( (sscanf(p,"%4d%2d%2d%1s",&idummy1,&idummy2,&idummy3,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:704:6:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if (sscanf(p,"%d:%d:%lf%1s",&idummy1,&idummy2,&dummy,errstr) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:706:11:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	else if (sscanf(p,"%d:%d%1s",&idummy1,&idummy2,errstr) == 2)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:714:7:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
	if ( sscanf(p,"%lf%1s",&dummy,errstr ) != 1)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:721:11:  [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).
	  slen = strlen(p);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:731:8:  [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 (strlen(p)>1 && *p=='"' && *(p+strlen(p)-1)=='"') {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:731:38:  [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 (strlen(p)>1 && *p=='"' && *(p+strlen(p)-1)=='"') {
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:732:10:  [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).
	    *(p+strlen(p)-1) = '\0';
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:736:43:  [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 *) FerMem_Malloc(sizeof(char)*(strlen(p)+1), __FILE__, __LINE__);
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:793:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%d/%d/%d%1s",&idummy1,&idummy2,&idummy3,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:801:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%d-%d-%d%1s",&idummy1,&idummy2,&idummy3,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:809:16:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if ( (sscanf(p,"%4d%2d%2d%1s",&idummy1,&idummy2,&idummy3,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:820:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%d:%d:%lf%1s",&idummy1,&idummy2,&dummy,str1) == 3)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:828:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%d:%d%1s",&idummy1,&idummy2,str1) == 2)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:836:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%lf%1[NnSs]%1s",&dummy,latlon1,str1) == 2
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:846:15:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if ((sscanf(p,"%lf%1[EeWw]%1s",&dummy,latlon1,str1) == 2) 
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:847:13:  [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).
	     || p[(strlen(p))-1] == 'E' || p[(strlen(p))-1] == 'E' )
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:847:40:  [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).
	     || p[(strlen(p))-1] == 'E' || p[(strlen(p))-1] == 'E' )
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:862:15:  [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).
	  idummy1 = (strlen(p))-1;
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:863:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	  strncpy(pstart,p,idummy1 );
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:867:14:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
    else if (sscanf(p,"%lf%1s",&dummy,str1) == 2)
data/pyferret-7.6.3/fmt/src/ez_delimited_read.c:966:66:  [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* _delim      = (char *) FerMem_Malloc(sizeof(char) * (int)strlen(delim) + 1, __FILE__, __LINE__);
data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c:117:20:  [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).
    resultstrlen = strlen(resultstr);
data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c:129:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(static_line, resultstr, resultstrlen);
data/pyferret-7.6.3/fmt/src/tm_ftoc_readline.c:159: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).
        linelen = strlen(static_line);
data/pyferret-7.6.3/fmt/src/tm_make_relative_ver.c:59:11:  [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).
  cvlen = strlen(curr_ver);
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:81:11:  [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).
   rlen = strlen(rootnam);
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:82:11:  [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).
   tlen = strlen(testnam);
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:109:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy( tbuff, testnam+rlen+2, tlen-rlen-2 );
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:159:11:  [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).
    len = strlen(name);
data/pyferret-7.6.3/fmt/src/tm_unix_versions.c:163:11:  [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).
    len = strlen(next_name);
data/pyferret-7.6.3/fmt/src/urlencode.c:81:13:  [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).
  *outlen = strlen(outstr);
data/pyferret-7.6.3/pyfermod/libpyferret.c:398:12:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
           strncpy(my_meta_name, metaname, 2048);
data/pyferret-7.6.3/pyfermod/libpyferret.c:729: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).
    lendataname = strlen(name);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1094:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(axis_names[k], strptr, 64);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1122:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(axis_units[k], strptr, 64);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1167:48:  [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).
                          errmsg, &len_errmsg, strlen(axis_names[k]), strlen(axis_units[k]), 2048);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1167:71:  [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).
                          errmsg, &len_errmsg, strlen(axis_names[k]), strlen(axis_units[k]), 2048);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1223:53:  [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).
                               errmsg, &len_errmsg, strlen(axis_names[k]), 2048);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1248:20:  [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).
    len_codename = strlen(codename);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1249:17:  [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).
    len_title = strlen(title);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1250:17:  [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).
    len_units = strlen(units);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1251: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).
    len_dset = strlen(dset);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1338: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).
    lendataname = strlen(name);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1386: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).
    maxstrlen = (int)(strlen(PYTHON_STRING_MISSING_VALUE) + 1);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1402:38:  [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).
                  thisstrlen = (int)(strlen(strptr) + 1);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1446:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(&(npydata[q]), strptr, maxstrlen);
data/pyferret-7.6.3/pyfermod/libpyferret.c:1466:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(npydata, PYTHON_STRING_MISSING_VALUE, maxstrlen);
data/pyferret-7.6.3/pyfermod/pyefcn_compute.c:283:42:  [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).
                                length = strlen(*((char **) dptr));
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:158:13:  [1] (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 character.
            strcpy(unit_name, " ");
data/pyferret-7.6.3/pyfermod/pyefcn_custom_axes.c:174:21:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                    strncpy(unit_name, strptr, EF_MAX_NAME_LENGTH);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:166:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(descript, strptr, EF_MAX_DESCRIPTION_LENGTH);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:381:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(name, strptr, EF_MAX_NAME_LENGTH);
data/pyferret-7.6.3/pyfermod/pyefcn_init.c:432:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(descript, strptr, EF_MAX_DESCRIPTION_LENGTH);

ANALYSIS SUMMARY:

Hits = 960
Lines analyzed = 42916 in approximately 1.96 seconds (21937 lines/second)
Physical Source Lines of Code (SLOC) = 25151
Hits@level = [0] 367 [1] 224 [2] 525 [3]   3 [4] 208 [5]   0
Hits@level+ = [0+] 1327 [1+] 960 [2+] 736 [3+] 211 [4+] 208 [5+]   0
Hits/KSLOC@level+ = [0+] 52.7613 [1+] 38.1695 [2+] 29.2632 [3+] 8.38933 [4+] 8.27005 [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.