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/cdo-1.9.10~rc1/src/Fldstat.cc
Examining data/cdo-1.9.10~rc1/src/datarangelist.h
Examining data/cdo-1.9.10~rc1/src/mpmo.cc
Examining data/cdo-1.9.10~rc1/src/cdo_default_values.cc
Examining data/cdo-1.9.10~rc1/src/process.cc
Parsing failed to find end of parameter list; semicolon terminated it in (stderr, "Processed %I64d value%s from %d variable%s",
#else
        fprintf(stderr, "Processed %jd value%s from %d variable%s",
#endif
                (intmax_t) nvals, ADD_PLURAL(nvals), nvars, ADD_
Examining data/cdo-1.9.10~rc1/src/Wct.cc
Examining data/cdo-1.9.10~rc1/src/Cloudlayer.cc
Examining data/cdo-1.9.10~rc1/src/cimdOmp.h
Examining data/cdo-1.9.10~rc1/src/const.h
Examining data/cdo-1.9.10~rc1/src/after_sptrans.cc
Examining data/cdo-1.9.10~rc1/src/remap.h
Examining data/cdo-1.9.10~rc1/src/Splitsel.cc
Examining data/cdo-1.9.10~rc1/src/institution.cc
Examining data/cdo-1.9.10~rc1/src/Gridboxstat.cc
Examining data/cdo-1.9.10~rc1/src/statistic.h
Examining data/cdo-1.9.10~rc1/src/percentiles_hist.h
Examining data/cdo-1.9.10~rc1/src/remap_point_search.cc
Examining data/cdo-1.9.10~rc1/src/Timcount.cc
Examining data/cdo-1.9.10~rc1/src/cdo_rlimit.h
Examining data/cdo-1.9.10~rc1/src/EcaIndices.cc
Examining data/cdo-1.9.10~rc1/src/hetaeta.h
Examining data/cdo-1.9.10~rc1/src/Ensstat3.cc
Examining data/cdo-1.9.10~rc1/src/functs.h
Examining data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.h
Examining data/cdo-1.9.10~rc1/src/juldate.cc
Examining data/cdo-1.9.10~rc1/src/process_int.h
Examining data/cdo-1.9.10~rc1/src/Command.cc
Examining data/cdo-1.9.10~rc1/src/Cond.cc
Examining data/cdo-1.9.10~rc1/src/util_string.cc
Examining data/cdo-1.9.10~rc1/src/CDIwrite.cc
Examining data/cdo-1.9.10~rc1/src/Spectrum.cc
Examining data/cdo-1.9.10~rc1/src/Cond2.cc
Examining data/cdo-1.9.10~rc1/src/progress.cc
Examining data/cdo-1.9.10~rc1/src/Varsstat.cc
Examining data/cdo-1.9.10~rc1/src/fileStream.h
Examining data/cdo-1.9.10~rc1/src/namelist.cc
Examining data/cdo-1.9.10~rc1/src/timebase.h
Examining data/cdo-1.9.10~rc1/src/Maskbox.cc
Examining data/cdo-1.9.10~rc1/src/Rhopot.cc
Examining data/cdo-1.9.10~rc1/src/results_template_parser.h
Examining data/cdo-1.9.10~rc1/src/process.h
Examining data/cdo-1.9.10~rc1/src/Split.cc
Examining data/cdo-1.9.10~rc1/src/grid_read.cc
Examining data/cdo-1.9.10~rc1/src/Trend.cc
Examining data/cdo-1.9.10~rc1/src/Gengrid.cc
Examining data/cdo-1.9.10~rc1/src/Runpctl.cc
Examining data/cdo-1.9.10~rc1/src/remaplib.cc
Examining data/cdo-1.9.10~rc1/src/Remapstat.cc
Examining data/cdo-1.9.10~rc1/src/Selbox.cc
Examining data/cdo-1.9.10~rc1/src/util_files.h
Examining data/cdo-1.9.10~rc1/src/specspace.cc
Examining data/cdo-1.9.10~rc1/src/Condc.cc
Examining data/cdo-1.9.10~rc1/src/pipe.h
Examining data/cdo-1.9.10~rc1/src/stdnametable.h
Examining data/cdo-1.9.10~rc1/src/printinfo.cc
Examining data/cdo-1.9.10~rc1/src/hetaeta.cc
Examining data/cdo-1.9.10~rc1/src/Maggraph.cc
Examining data/cdo-1.9.10~rc1/src/Ydaystat.cc
Examining data/cdo-1.9.10~rc1/src/expr_yacc.h
Examining data/cdo-1.9.10~rc1/src/readline.cc
Examining data/cdo-1.9.10~rc1/src/Unpack.cc
Examining data/cdo-1.9.10~rc1/src/expr_fun.h
Examining data/cdo-1.9.10~rc1/src/Lic.cc
Examining data/cdo-1.9.10~rc1/src/Replace.cc
Examining data/cdo-1.9.10~rc1/src/Showattribute.h
Examining data/cdo-1.9.10~rc1/src/griddes.cc
Examining data/cdo-1.9.10~rc1/src/percentiles_hist.cc
Examining data/cdo-1.9.10~rc1/src/parse_literals.cc
Examining data/cdo-1.9.10~rc1/src/remap_scrip_io.cc
Examining data/cdo-1.9.10~rc1/src/processManager.h
Examining data/cdo-1.9.10~rc1/src/CMOR_table.cc
Examining data/cdo-1.9.10~rc1/src/grid_print.cc
Examining data/cdo-1.9.10~rc1/src/CDIread.cc
Examining data/cdo-1.9.10~rc1/src/merge_axis.cc
Examining data/cdo-1.9.10~rc1/src/interpol.h
Examining data/cdo-1.9.10~rc1/src/cdo_cmor.h
Examining data/cdo-1.9.10~rc1/src/Ninfo.cc
Examining data/cdo-1.9.10~rc1/src/Invertlev.cc
Examining data/cdo-1.9.10~rc1/src/remap_conserv.cc
Examining data/cdo-1.9.10~rc1/src/color.h
Examining data/cdo-1.9.10~rc1/src/grid_area.cc
Examining data/cdo-1.9.10~rc1/src/Ydayarith.cc
Examining data/cdo-1.9.10~rc1/src/Deltime.cc
Examining data/cdo-1.9.10~rc1/src/magics_template_parser.h
Examining data/cdo-1.9.10~rc1/src/Change.cc
Examining data/cdo-1.9.10~rc1/src/cdi_lockedIO.cc
Examining data/cdo-1.9.10~rc1/src/Sethalo.cc
Examining data/cdo-1.9.10~rc1/src/expr.cc
Examining data/cdo-1.9.10~rc1/src/Fourier.cc
Examining data/cdo-1.9.10~rc1/src/Fillmiss.cc
Examining data/cdo-1.9.10~rc1/src/Selgridcell.cc
Examining data/cdo-1.9.10~rc1/src/Adisit.cc
Examining data/cdo-1.9.10~rc1/src/Seaspctl.cc
Examining data/cdo-1.9.10~rc1/src/Timselstat.cc
Examining data/cdo-1.9.10~rc1/src/remap_store_link.h
Examining data/cdo-1.9.10~rc1/src/Ymonstat.cc
Examining data/cdo-1.9.10~rc1/src/commandline.h
Examining data/cdo-1.9.10~rc1/src/grid_gme.cc
Examining data/cdo-1.9.10~rc1/src/Importbinary.cc
Examining data/cdo-1.9.10~rc1/src/Filter.cc
Examining data/cdo-1.9.10~rc1/src/Nmldump.cc
Examining data/cdo-1.9.10~rc1/src/cdo_zaxis.cc
Examining data/cdo-1.9.10~rc1/src/util_date.h
Examining data/cdo-1.9.10~rc1/src/remap_conserv_scrip.cc
Examining data/cdo-1.9.10~rc1/src/Ensstat.cc
Examining data/cdo-1.9.10~rc1/src/knn_weights.h
Examining data/cdo-1.9.10~rc1/src/Deltat.cc
Examining data/cdo-1.9.10~rc1/src/Diff.cc
Examining data/cdo-1.9.10~rc1/src/cthread_debug.h
Examining data/cdo-1.9.10~rc1/src/Hi.cc
Examining data/cdo-1.9.10~rc1/src/Vertintml.cc
Examining data/cdo-1.9.10~rc1/src/NCL_wind.cc
Examining data/cdo-1.9.10~rc1/src/cdo.cc
Examining data/cdo-1.9.10~rc1/src/Selmulti.cc
Examining data/cdo-1.9.10~rc1/src/eof_mode.h
Examining data/cdo-1.9.10~rc1/src/Mastrfu.cc
Examining data/cdo-1.9.10~rc1/src/Tests.cc
Examining data/cdo-1.9.10~rc1/src/Gridcell.cc
Examining data/cdo-1.9.10~rc1/src/Seltime.cc
Examining data/cdo-1.9.10~rc1/src/Magvector.cc
Examining data/cdo-1.9.10~rc1/src/Vertcum.cc
Examining data/cdo-1.9.10~rc1/src/cdo_getopt.cc
Examining data/cdo-1.9.10~rc1/src/remap_store_link_cnsrv.cc
Examining data/cdo-1.9.10~rc1/src/Afterburner.cc
Examining data/cdo-1.9.10~rc1/src/Intlevel3d.cc
Examining data/cdo-1.9.10~rc1/src/zaxis_print.cc
Examining data/cdo-1.9.10~rc1/src/Exprf.cc
Examining data/cdo-1.9.10~rc1/src/cdoStream.h
Examining data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c
Examining data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/clipping.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_search.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/clipping.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_scrip.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/interval_tree.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_scrip.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/utils.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/intersection.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/geometry.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/dep_list.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/area.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/ensure_array_size.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_search_utils.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/bnd_circle.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/points.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/communicator.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/points.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_search_utils.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_search.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/area.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/check_overlap.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/ensure_array_size.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/interval_tree.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/communicator.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c
Examining data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.h
Examining data/cdo-1.9.10~rc1/src/lib/yac/utils.c
Examining data/cdo-1.9.10~rc1/src/Yhourstat.cc
Examining data/cdo-1.9.10~rc1/src/Yseasstat.cc
Examining data/cdo-1.9.10~rc1/src/gridreference.cc
Examining data/cdo-1.9.10~rc1/src/cdi_uuid.h
Examining data/cdo-1.9.10~rc1/src/remap_bicubic.cc
Examining data/cdo-1.9.10~rc1/src/Ymonpctl.cc
Examining data/cdo-1.9.10~rc1/src/Timstat2.cc
Examining data/cdo-1.9.10~rc1/src/Complextorect.cc
Examining data/cdo-1.9.10~rc1/src/Consecstat.cc
Examining data/cdo-1.9.10~rc1/src/Pardup.cc
Examining data/cdo-1.9.10~rc1/src/after_fctrans.cc
Examining data/cdo-1.9.10~rc1/src/griddes_h5.cc
Examining data/cdo-1.9.10~rc1/src/par_io.h
Examining data/cdo-1.9.10~rc1/src/fieldccplx.cc
Examining data/cdo-1.9.10~rc1/src/cdo_task.h
Examining data/cdo-1.9.10~rc1/src/Monarith.cc
Examining data/cdo-1.9.10~rc1/src/expr_fun.cc
Examining data/cdo-1.9.10~rc1/src/Yhourarith.cc
Examining data/cdo-1.9.10~rc1/src/Eof3d.cc
Examining data/cdo-1.9.10~rc1/src/Wind.cc
Examining data/cdo-1.9.10~rc1/src/cdo_varlist.h
Examining data/cdo-1.9.10~rc1/src/util_fileextensions.cc
Examining data/cdo-1.9.10~rc1/src/expr.h
Examining data/cdo-1.9.10~rc1/src/operator_help.h
Examining data/cdo-1.9.10~rc1/src/cdo_season.h
Examining data/cdo-1.9.10~rc1/src/EOFs.cc
Examining data/cdo-1.9.10~rc1/src/timer.cc
Examining data/cdo-1.9.10~rc1/src/Seascount.cc
Examining data/cdo-1.9.10~rc1/src/vertical_interp.h
Examining data/cdo-1.9.10~rc1/src/Vertintgh.cc
Examining data/cdo-1.9.10~rc1/src/grid_point_search.h
Examining data/cdo-1.9.10~rc1/src/counter.h
Examining data/cdo-1.9.10~rc1/src/Gridsearch.cc
Examining data/cdo-1.9.10~rc1/src/ecacore.h
Examining data/cdo-1.9.10~rc1/src/cimdOmp.cc
Examining data/cdo-1.9.10~rc1/src/Pressure.cc
Examining data/cdo-1.9.10~rc1/src/gridreference.h
Examining data/cdo-1.9.10~rc1/src/cdo_options.h
Examining data/cdo-1.9.10~rc1/src/field2.cc
Examining data/cdo-1.9.10~rc1/src/cdo_rlimit.cc
Examining data/cdo-1.9.10~rc1/src/timer.h
Examining data/cdo-1.9.10~rc1/src/Yeararith.cc
Examining data/cdo-1.9.10~rc1/src/module_list.h
Examining data/cdo-1.9.10~rc1/src/FC.cc
Examining data/cdo-1.9.10~rc1/src/MapReduce.cc
Examining data/cdo-1.9.10~rc1/src/Zonstat.cc
Examining data/cdo-1.9.10~rc1/src/module_info.h
Examining data/cdo-1.9.10~rc1/src/Set.cc
Examining data/cdo-1.9.10~rc1/src/pipe.cc
Examining data/cdo-1.9.10~rc1/src/table.h
Examining data/cdo-1.9.10~rc1/src/Setrcaname.cc
Examining data/cdo-1.9.10~rc1/src/sellist.cc
Examining data/cdo-1.9.10~rc1/src/mpmo_color.h
Examining data/cdo-1.9.10~rc1/src/getRSS.c
Examining data/cdo-1.9.10~rc1/src/realtime.cc
Examining data/cdo-1.9.10~rc1/src/Splittime.cc
Examining data/cdo-1.9.10~rc1/src/Inttime.cc
Examining data/cdo-1.9.10~rc1/src/Merge.cc
Examining data/cdo-1.9.10~rc1/src/Yearmonstat.cc
Examining data/cdo-1.9.10~rc1/src/Timsort.cc
Examining data/cdo-1.9.10~rc1/src/cdo_zaxis.h
Examining data/cdo-1.9.10~rc1/src/Importobs.cc
Examining data/cdo-1.9.10~rc1/src/eof_mode.cc
Examining data/cdo-1.9.10~rc1/src/cdi_lockedIO.h
Examining data/cdo-1.9.10~rc1/src/par_io.cc
Examining data/cdo-1.9.10~rc1/src/json/jsmn.h
Examining data/cdo-1.9.10~rc1/src/json/jsmn.c
Examining data/cdo-1.9.10~rc1/src/griddes_nc.cc
Examining data/cdo-1.9.10~rc1/src/Vargen.cc
Examining data/cdo-1.9.10~rc1/src/Templates.cc
Examining data/cdo-1.9.10~rc1/src/Writerandom.cc
Examining data/cdo-1.9.10~rc1/src/Sort.cc
Examining data/cdo-1.9.10~rc1/src/cdo_options.cc
Examining data/cdo-1.9.10~rc1/src/parse_literals.h
Examining data/cdo-1.9.10~rc1/src/modules.cc
Examining data/cdo-1.9.10~rc1/src/remap_grid_cell_search.cc
Examining data/cdo-1.9.10~rc1/src/Intyear.cc
Examining data/cdo-1.9.10~rc1/src/param_conversion.h
Examining data/cdo-1.9.10~rc1/src/Isosurface.cc
Examining data/cdo-1.9.10~rc1/src/Setbox.cc
Examining data/cdo-1.9.10~rc1/src/cdo_magics_mapper.cc
Examining data/cdo-1.9.10~rc1/src/cdo_fill.h
Examining data/cdo-1.9.10~rc1/src/template_parser.cc
Examining data/cdo-1.9.10~rc1/src/vector3d.h
Examining data/cdo-1.9.10~rc1/src/remap_search_latbins.cc
Examining data/cdo-1.9.10~rc1/src/afterburner.h
Examining data/cdo-1.9.10~rc1/src/remap_search_reg2d.cc
Examining data/cdo-1.9.10~rc1/src/Gradsdes.cc
Examining data/cdo-1.9.10~rc1/src/Vertstat.cc
Examining data/cdo-1.9.10~rc1/src/template_parser.h
Examining data/cdo-1.9.10~rc1/src/Enlargegrid.cc
Examining data/cdo-1.9.10~rc1/src/percentiles.h
Examining data/cdo-1.9.10~rc1/src/Enlarge.cc
Examining data/cdo-1.9.10~rc1/src/cmortable_parser.cc
Examining data/cdo-1.9.10~rc1/src/Seloperator.cc
Examining data/cdo-1.9.10~rc1/src/pthread_debug.h
Examining data/cdo-1.9.10~rc1/src/modules.h
Examining data/cdo-1.9.10~rc1/src/Duplicate.cc
Examining data/cdo-1.9.10~rc1/src/pipeStream.cc
Examining data/cdo-1.9.10~rc1/src/util_wildcards.h
Examining data/cdo-1.9.10~rc1/src/XTimstat.cc
Examining data/cdo-1.9.10~rc1/src/Sorttimestamp.cc
Examining data/cdo-1.9.10~rc1/src/Remapweights.cc
Examining data/cdo-1.9.10~rc1/src/mpmo_color.cc
Examining data/cdo-1.9.10~rc1/src/Mrotuvb.cc
Examining data/cdo-1.9.10~rc1/src/Setattribute.cc
Examining data/cdo-1.9.10~rc1/src/Timpctl.cc
Examining data/cdo-1.9.10~rc1/src/Output.cc
Examining data/cdo-1.9.10~rc1/src/Magplot.cc
Examining data/cdo-1.9.10~rc1/src/Timstat.cc
Examining data/cdo-1.9.10~rc1/src/constants.h
Examining data/cdo-1.9.10~rc1/src/EcaEtccdi.cc
Examining data/cdo-1.9.10~rc1/src/Importcmsaf.cc
Examining data/cdo-1.9.10~rc1/src/Setzaxis.cc
Examining data/cdo-1.9.10~rc1/src/Remapeta.cc
Examining data/cdo-1.9.10~rc1/src/param_conversion.cc
Examining data/cdo-1.9.10~rc1/src/Fldstat2.cc
Examining data/cdo-1.9.10~rc1/src/fieldmer.cc
Examining data/cdo-1.9.10~rc1/src/Select.cc
Examining data/cdo-1.9.10~rc1/src/ecacore.cc
Examining data/cdo-1.9.10~rc1/src/specspace.h
Examining data/cdo-1.9.10~rc1/src/Derivepar.cc
Examining data/cdo-1.9.10~rc1/src/table.cc
Examining data/cdo-1.9.10~rc1/src/Filedes.cc
Examining data/cdo-1.9.10~rc1/src/Timcumsum.cc
Examining data/cdo-1.9.10~rc1/src/Mergetime.cc
Examining data/cdo-1.9.10~rc1/src/Seasstat.cc
Examining data/cdo-1.9.10~rc1/src/grid_read_pingo.h
Examining data/cdo-1.9.10~rc1/src/Ensval.cc
Examining data/cdo-1.9.10~rc1/src/cdoStream.cc
Examining data/cdo-1.9.10~rc1/src/Spectral.cc
Examining data/cdo-1.9.10~rc1/src/cdo_vlist.h
Examining data/cdo-1.9.10~rc1/src/pthread_debug.cc
Examining data/cdo-1.9.10~rc1/src/sellist.h
Examining data/cdo-1.9.10~rc1/src/Setmiss.cc
Examining data/cdo-1.9.10~rc1/src/verifygrid.h
Examining data/cdo-1.9.10~rc1/src/Smooth.cc
Examining data/cdo-1.9.10~rc1/src/grid_define.h
Examining data/cdo-1.9.10~rc1/src/Ydrunpctl.cc
Examining data/cdo-1.9.10~rc1/src/Showinfo.cc
Examining data/cdo-1.9.10~rc1/src/cdo_read.cc
Examining data/cdo-1.9.10~rc1/src/progress.h
Examining data/cdo-1.9.10~rc1/src/remap_vars.h
Examining data/cdo-1.9.10~rc1/src/ecautil.h
Examining data/cdo-1.9.10~rc1/src/Test.cc
Examining data/cdo-1.9.10~rc1/src/Arithlat.cc
Examining data/cdo-1.9.10~rc1/src/string_utilities.h
Examining data/cdo-1.9.10~rc1/src/remap_distwgt.cc
Examining data/cdo-1.9.10~rc1/src/Vertintap.cc
Examining data/cdo-1.9.10~rc1/src/namelist.h
Examining data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc
Examining data/cdo-1.9.10~rc1/src/mpim_grid/grid_rot.cc
Examining data/cdo-1.9.10~rc1/src/mpim_grid/grid_convert.h
Examining data/cdo-1.9.10~rc1/src/mpim_grid/grid_rot.h
Examining data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.h
Examining data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.h
Examining data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc
Examining data/cdo-1.9.10~rc1/src/convert_units.h
Examining data/cdo-1.9.10~rc1/src/cdo_pthread.cc
Examining data/cdo-1.9.10~rc1/src/cdo_features.cc
Examining data/cdo-1.9.10~rc1/src/Showattribute.cc
Examining data/cdo-1.9.10~rc1/src/Outputgmt.cc
Examining data/cdo-1.9.10~rc1/src/transform.h
Examining data/cdo-1.9.10~rc1/src/field.h
Examining data/cdo-1.9.10~rc1/src/constants.cc
Examining data/cdo-1.9.10~rc1/src/cf_interface.h
Examining data/cdo-1.9.10~rc1/src/remapsort.cc
Examining data/cdo-1.9.10~rc1/src/listbuffer.h
Examining data/cdo-1.9.10~rc1/src/Settime.cc
Examining data/cdo-1.9.10~rc1/src/mapping.cc
Examining data/cdo-1.9.10~rc1/src/readline.h
Examining data/cdo-1.9.10~rc1/src/remap_bilinear.cc
Examining data/cdo-1.9.10~rc1/src/Change_e5slm.cc
Examining data/cdo-1.9.10~rc1/src/color.cc
Examining data/cdo-1.9.10~rc1/src/cdotest.cc
Examining data/cdo-1.9.10~rc1/src/Invert.cc
Examining data/cdo-1.9.10~rc1/src/Intgridtraj.cc
Examining data/cdo-1.9.10~rc1/src/Shiftxy.cc
Examining data/cdo-1.9.10~rc1/src/Splityear.cc
Examining data/cdo-1.9.10~rc1/src/Comp.cc
Examining data/cdo-1.9.10~rc1/src/merge_axis.h
Examining data/cdo-1.9.10~rc1/src/Ydaypctl.cc
Examining data/cdo-1.9.10~rc1/src/Regres.cc
Examining data/cdo-1.9.10~rc1/src/Selyearidx.cc
Examining data/cdo-1.9.10~rc1/src/stdnametable.cc
Examining data/cdo-1.9.10~rc1/src/Setgrid.cc
Examining data/cdo-1.9.10~rc1/src/cdo_fctrans.cc
Examining data/cdo-1.9.10~rc1/src/libncl.h
Examining data/cdo-1.9.10~rc1/src/cdo_pthread.h
Examining data/cdo-1.9.10~rc1/src/Trendarith.cc
Examining data/cdo-1.9.10~rc1/src/afterburnerlib.cc
Examining data/cdo-1.9.10~rc1/src/printinfo.h
Examining data/cdo-1.9.10~rc1/src/interpol.cc
Examining data/cdo-1.9.10~rc1/src/field_vinterp.h
Examining data/cdo-1.9.10~rc1/src/remap_grid_cell_search.h
Examining data/cdo-1.9.10~rc1/src/Setgatt.cc
Examining data/cdo-1.9.10~rc1/src/Selvar.cc
Examining data/cdo-1.9.10~rc1/src/Timstat3.cc
Examining data/cdo-1.9.10~rc1/src/remap_cell_search.cc
Examining data/cdo-1.9.10~rc1/src/Yseaspctl.cc
Examining data/cdo-1.9.10~rc1/src/compare.h
Examining data/cdo-1.9.10~rc1/src/pipeStream.h
Examining data/cdo-1.9.10~rc1/src/cdo_output.cc
Examining data/cdo-1.9.10~rc1/src/cdo_math.h
Examining data/cdo-1.9.10~rc1/src/expr_lex.cc
Examining data/cdo-1.9.10~rc1/src/percentiles.cc
Examining data/cdo-1.9.10~rc1/src/Compc.cc
Examining data/cdo-1.9.10~rc1/src/Verifygrid.cc
Examining data/cdo-1.9.10~rc1/src/cdo_fctrans.h
Examining data/cdo-1.9.10~rc1/src/dmemory.h
Examining data/cdo-1.9.10~rc1/src/mapping.h
Examining data/cdo-1.9.10~rc1/src/grid_point_search.cc
Examining data/cdo-1.9.10~rc1/src/cdo_getopt.h
Examining data/cdo-1.9.10~rc1/src/Samplegridicon.cc
Examining data/cdo-1.9.10~rc1/src/Arithc.cc
Examining data/cdo-1.9.10~rc1/src/calendar.h
Examining data/cdo-1.9.10~rc1/src/pmlist.h
Examining data/cdo-1.9.10~rc1/src/Mrotuv.cc
Examining data/cdo-1.9.10~rc1/src/cdo_magics_mapper.h
Examining data/cdo-1.9.10~rc1/src/datetime.h
Examining data/cdo-1.9.10~rc1/src/Timselpctl.cc
Examining data/cdo-1.9.10~rc1/src/cdo_apply.cc
Examining data/cdo-1.9.10~rc1/src/field2cplx.cc
Examining data/cdo-1.9.10~rc1/src/fieldzon.cc
Examining data/cdo-1.9.10~rc1/src/Samplegrid.cc
Examining data/cdo-1.9.10~rc1/src/Intlevel.cc
Examining data/cdo-1.9.10~rc1/src/Ydrunstat.cc
Examining data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.cc
Examining data/cdo-1.9.10~rc1/src/Fldrms.cc
Examining data/cdo-1.9.10~rc1/src/Varrms.cc
Examining data/cdo-1.9.10~rc1/src/Vertwind.cc
Examining data/cdo-1.9.10~rc1/src/fieldc.cc
Examining data/cdo-1.9.10~rc1/src/module_definitions.h
Examining data/cdo-1.9.10~rc1/src/Sinfo.cc
Examining data/cdo-1.9.10~rc1/src/Input.cc
Examining data/cdo-1.9.10~rc1/src/cfortran.h
Examining data/cdo-1.9.10~rc1/src/Math.cc
Examining data/cdo-1.9.10~rc1/src/Replacevalues.cc
Examining data/cdo-1.9.10~rc1/src/nanoflann.hpp
Examining data/cdo-1.9.10~rc1/src/griddes.h
Examining data/cdo-1.9.10~rc1/src/cthread_debug.cc
Examining data/cdo-1.9.10~rc1/src/Setpartab.cc
Examining data/cdo-1.9.10~rc1/src/mpmo.h
Examining data/cdo-1.9.10~rc1/src/Eofcoeff.cc
Examining data/cdo-1.9.10~rc1/src/fileStream.cc
Examining data/cdo-1.9.10~rc1/src/cdo_history.cc
Examining data/cdo-1.9.10~rc1/src/convert_units.cc
Examining data/cdo-1.9.10~rc1/src/Rotuv.cc
Examining data/cdo-1.9.10~rc1/src/cdo_vlist.cc
Examining data/cdo-1.9.10~rc1/src/results_template_parser.cc
Examining data/cdo-1.9.10~rc1/src/cdo_default_values.h
Examining data/cdo-1.9.10~rc1/src/Tstepcount.cc
Examining data/cdo-1.9.10~rc1/src/module_info.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/qsort.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/kdtree.h
Examining data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_cartesian.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/pqueue.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc
Examining data/cdo-1.9.10~rc1/src/kdtreelib/pqueue.h
Examining data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_spherical.cc
Examining data/cdo-1.9.10~rc1/src/Runstat.cc
Examining data/cdo-1.9.10~rc1/src/Cat.cc
Examining data/cdo-1.9.10~rc1/src/cdo_output.h
Examining data/cdo-1.9.10~rc1/src/Tee.cc
Examining data/cdo-1.9.10~rc1/src/remap_store_link.cc
Examining data/cdo-1.9.10~rc1/src/EstFreq.cc
Examining data/cdo-1.9.10~rc1/src/cdo_features.h
Examining data/cdo-1.9.10~rc1/src/util_wildcards.cc
Examining data/cdo-1.9.10~rc1/src/cdo_fill.cc
Examining data/cdo-1.9.10~rc1/src/ecautil.cc
Examining data/cdo-1.9.10~rc1/src/Info.cc
Examining data/cdo-1.9.10~rc1/src/CDItest.cc
Examining data/cdo-1.9.10~rc1/src/commandline.cc
Examining data/cdo-1.9.10~rc1/src/CMOR_lite.cc
Examining data/cdo-1.9.10~rc1/src/cdo_task.cc
Examining data/cdo-1.9.10~rc1/src/string_utilities.cc
Examining data/cdo-1.9.10~rc1/src/Intntime.cc
Examining data/cdo-1.9.10~rc1/src/Selrec.cc
Examining data/cdo-1.9.10~rc1/src/remap_vars.cc
Examining data/cdo-1.9.10~rc1/src/Distgrid.cc
Examining data/cdo-1.9.10~rc1/src/grid_from_name.cc
Examining data/cdo-1.9.10~rc1/src/Intgrid.cc
Examining data/cdo-1.9.10~rc1/src/field.cc
Examining data/cdo-1.9.10~rc1/src/Collgrid.cc
Examining data/cdo-1.9.10~rc1/src/cdo_wtime.h
Examining data/cdo-1.9.10~rc1/src/selboxinfo.h
Examining data/cdo-1.9.10~rc1/src/CMOR.cc
Examining data/cdo-1.9.10~rc1/src/Arithdays.cc
Examining data/cdo-1.9.10~rc1/src/pmlist.cc
Examining data/cdo-1.9.10~rc1/src/Detrend.cc
Examining data/cdo-1.9.10~rc1/src/Importamsr.cc
Examining data/cdo-1.9.10~rc1/src/grid_define.cc
Examining data/cdo-1.9.10~rc1/src/WindTrans.cc
Examining data/cdo-1.9.10~rc1/src/util_string.h
Examining data/cdo-1.9.10~rc1/src/array.cc
Examining data/cdo-1.9.10~rc1/src/fieldmem.cc
Examining data/cdo-1.9.10~rc1/src/processManager.cc
Examining data/cdo-1.9.10~rc1/src/remap_store_link_cnsrv.h
Examining data/cdo-1.9.10~rc1/src/matrix_view.h
Examining data/cdo-1.9.10~rc1/src/Transpose.cc
Examining data/cdo-1.9.10~rc1/src/datetime.cc
Examining data/cdo-1.9.10~rc1/src/Mergegrid.cc
Examining data/cdo-1.9.10~rc1/src/Tinfo.cc
Examining data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc
Examining data/cdo-1.9.10~rc1/src/Specinfo.cc
Examining data/cdo-1.9.10~rc1/src/magics_template_parser.cc
Examining data/cdo-1.9.10~rc1/src/Harmonic.cc
Examining data/cdo-1.9.10~rc1/src/getMemorySize.c
Examining data/cdo-1.9.10~rc1/src/Ymonarith.cc
Examining data/cdo-1.9.10~rc1/src/cdo_varlist.cc
Examining data/cdo-1.9.10~rc1/src/Merstat.cc
Examining data/cdo-1.9.10~rc1/src/statistic.cc
Examining data/cdo-1.9.10~rc1/src/Pinfo.cc
Examining data/cdo-1.9.10~rc1/src/vertical_interp.cc
Examining data/cdo-1.9.10~rc1/src/Histogram.cc
Examining data/cdo-1.9.10~rc1/src/institution.h
Examining data/cdo-1.9.10~rc1/src/array.h
Examining data/cdo-1.9.10~rc1/src/after_namelist.cc
Examining data/cdo-1.9.10~rc1/src/grid_icosphere.cc
Examining data/cdo-1.9.10~rc1/src/Pack.cc
Examining data/cdo-1.9.10~rc1/src/Importfv3grid.cc
Examining data/cdo-1.9.10~rc1/src/Remap.cc
Examining data/cdo-1.9.10~rc1/src/Copy.cc
Examining data/cdo-1.9.10~rc1/src/grid_read_pingo.cc
Examining data/cdo-1.9.10~rc1/src/Arith.cc
Examining data/cdo-1.9.10~rc1/src/cdo_season.cc
Examining data/cdo-1.9.10~rc1/src/cdo_history.h
Examining data/cdo-1.9.10~rc1/src/Echam5ini.cc
Examining data/cdo-1.9.10~rc1/src/field_vinterp.cc
Examining data/cdo-1.9.10~rc1/src/Splitrec.cc
Examining data/cdo-1.9.10~rc1/src/Writegrid.cc
Examining data/cdo-1.9.10~rc1/src/cdo_apply.h
Examining data/cdo-1.9.10~rc1/src/Recttocomplex.cc
Examining data/cdo-1.9.10~rc1/src/util_fileextensions.h
Examining data/cdo-1.9.10~rc1/src/expr_yacc.cc
Examining data/cdo-1.9.10~rc1/src/after_dvtrans.cc
Examining data/cdo-1.9.10~rc1/src/Tocomplex.cc
Examining data/cdo-1.9.10~rc1/src/util_files.cc
Examining data/cdo-1.9.10~rc1/src/process_int.cc
Examining data/cdo-1.9.10~rc1/libcdi/src/file.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_cdf_int.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_conf.c
Examining data/cdo-1.9.10~rc1/libcdi/src/exse.h
Examining data/cdo-1.9.10~rc1/libcdi/src/varscan.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_srv.c
Examining data/cdo-1.9.10~rc1/libcdi/src/taxis.c
Examining data/cdo-1.9.10~rc1/libcdi/src/serialize.h
Examining data/cdo-1.9.10~rc1/libcdi/src/namespace.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_ext.c
Examining data/cdo-1.9.10~rc1/libcdi/src/model.c
Examining data/cdo-1.9.10~rc1/libcdi/src/resource_handle.c
Examining data/cdo-1.9.10~rc1/libcdi/src/timebase.h
Examining data/cdo-1.9.10~rc1/libcdi/src/dtypes.h
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist.c
Examining data/cdo-1.9.10~rc1/libcdi/src/tablepar.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_all.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_read.c
Examining data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_serialize.c
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_rpc.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_error.c
Examining data/cdo-1.9.10~rc1/libcdi/src/timebase.c
Examining data/cdo-1.9.10~rc1/libcdi/src/varscan.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c
Examining data/cdo-1.9.10~rc1/libcdi/src/referenceCounting.c
Examining data/cdo-1.9.10~rc1/libcdi/src/serialize.c
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_server.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_util.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.h
Examining data/cdo-1.9.10~rc1/libcdi/src/util.c
Examining data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_comm.c
Examining data/cdo-1.9.10~rc1/libcdi/src/gaussgrid.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c
Examining data/cdo-1.9.10~rc1/libcdi/src/subtype.c
Examining data/cdo-1.9.10~rc1/libcdi/src/binary.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_int.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_ext.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c
Examining data/cdo-1.9.10~rc1/libcdi/src/error.c
Examining data/cdo-1.9.10~rc1/libcdi/src/gribapi.c
Examining data/cdo-1.9.10~rc1/libcdi/src/extralib.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_uuid.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_config.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_key.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_mpinonb.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_id_set.h
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist_var.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_key.c
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist.h
Examining data/cdo-1.9.10~rc1/libcdi/src/servicelib.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_write.c
Examining data/cdo-1.9.10~rc1/libcdi/src/table.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_grb.c
Examining data/cdo-1.9.10~rc1/libcdi/src/input_file.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_util.c
Examining data/cdo-1.9.10~rc1/libcdi/src/error.h
Examining data/cdo-1.9.10~rc1/libcdi/src/namespace.c
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator.h
Examining data/cdo-1.9.10~rc1/libcdi/src/binary.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_scan.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_scan.h
Examining data/cdo-1.9.10~rc1/libcdi/src/basetime.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_reblock.c
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_srv.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_impl.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_interface.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_client.h
Examining data/cdo-1.9.10~rc1/libcdi/src/zaxis.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdipio.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_dbuffer.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_ordered.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdipioFortran.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c
Examining data/cdo-1.9.10~rc1/libcdi/src/input_file.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cksum.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c
Examining data/cdo-1.9.10~rc1/libcdi/src/service.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.c
Examining data/cdo-1.9.10~rc1/libcdi/src/extra.h
Examining data/cdo-1.9.10~rc1/libcdi/src/swap.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_server.h
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_rpc.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_int.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c
Examining data/cdo-1.9.10~rc1/libcdi/src/async_worker.c
Examining data/cdo-1.9.10~rc1/libcdi/src/grb_write.c
Examining data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_roles.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_cksum.c
Examining data/cdo-1.9.10~rc1/libcdi/src/ieglib.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_int.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cgribex.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_record.c
Examining data/cdo-1.9.10~rc1/libcdi/src/institution.c
Examining data/cdo-1.9.10~rc1/libcdi/src/grid.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_comm.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_util.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf.h
Examining data/cdo-1.9.10~rc1/libcdi/src/calendar.c
Examining data/cdo-1.9.10~rc1/libcdi/src/resource_unpack.h
Examining data/cdo-1.9.10~rc1/libcdi/src/referenceCounting.h
Examining data/cdo-1.9.10~rc1/libcdi/src/model.h
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist_var_pack.c
Examining data/cdo-1.9.10~rc1/libcdi/src/dmemory.h
Examining data/cdo-1.9.10~rc1/libcdi/src/zaxis.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_list_set.c
Examining data/cdo-1.9.10~rc1/libcdi/src/calendar.h
Examining data/cdo-1.9.10~rc1/libcdi/src/datetime.h
Examining data/cdo-1.9.10~rc1/libcdi/src/taxis.h
Examining data/cdo-1.9.10~rc1/libcdi/src/grb_read.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_read.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c
Examining data/cdo-1.9.10~rc1/libcdi/src/ieg.h
Examining data/cdo-1.9.10~rc1/libcdi/src/grid.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_serialize.h
Examining data/cdo-1.9.10~rc1/libcdi/src/file.c
Examining data/cdo-1.9.10~rc1/libcdi/src/swap.c
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdiFortran.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cfortran.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_cksum.h
Examining data/cdo-1.9.10~rc1/libcdi/src/tsteps.c
Examining data/cdo-1.9.10~rc1/libcdi/src/gribapi.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_grb.h
Examining data/cdo-1.9.10~rc1/libcdi/src/basetime.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_client.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_limits.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_util.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_cdf_int.h
Examining data/cdo-1.9.10~rc1/libcdi/src/table.c
Examining data/cdo-1.9.10~rc1/libcdi/src/resource_handle.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.h
Examining data/cdo-1.9.10~rc1/libcdi/src/async_worker.h
Examining data/cdo-1.9.10~rc1/libcdi/src/version.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi.h
Examining data/cdo-1.9.10~rc1/libcdi/src/resource_unpack.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_cdf.h
Examining data/cdo-1.9.10~rc1/libcdi/src/cdi_att.h
Examining data/cdo-1.9.10~rc1/libcdi/src/stream_var.c
Examining data/cdo-1.9.10~rc1/libcdi/src/stream.c
Examining data/cdo-1.9.10~rc1/libcdi/src/vlist_var_key.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_conf.h
Examining data/cdo-1.9.10~rc1/libcdi/src/subtype.h
Examining data/cdo-1.9.10~rc1/libcdi/src/institution.h
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_posixfpguardsendrecv.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_interface.c
Examining data/cdo-1.9.10~rc1/libcdi/src/dmemory.c
Examining data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cdilib.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cksum.c
Examining data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/stream_cksum.h
Examining data/cdo-1.9.10~rc1/libcdi/tests/cksum_verify.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/simple_model_helper.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/cksum_read.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_cdf_read.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/stream_cksum.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/pio_write.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/ensure_array_size.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_resource_copy.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/var_cksum.h
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_grib.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/cksum_write_chunk.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_byteswap.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/pio_write.h
Examining data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/var_cksum.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_table.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/test_cdf_write.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c
Examining data/cdo-1.9.10~rc1/libcdi/tests/simple_model_helper.h
Examining data/cdo-1.9.10~rc1/libcdi/tests/ensure_array_size.h
Examining data/cdo-1.9.10~rc1/libcdi/app/cdi.c
Examining data/cdo-1.9.10~rc1/libcdi/app/printinfo.c
Examining data/cdo-1.9.10~rc1/libcdi/app/createtable.c
Examining data/cdo-1.9.10~rc1/libcdi/app/printinfo.h
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write_const.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/pio/collectData.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/pio/compareResourcesArray.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write_hybrid.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write_local.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write_relativ.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_write_ens.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_read.c
Examining data/cdo-1.9.10~rc1/libcdi/examples/cdi_copy.c
Examining data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp
Examining data/cdo-1.9.10~rc1/libcdi/interfaces/CdiInfo.cpp
Examining data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.hpp
Examining data/cdo-1.9.10~rc1/test/bandit_tests/param_conversion_test.cc
Examining data/cdo-1.9.10~rc1/test/bandit_tests/wildcards.cc
Examining data/cdo-1.9.10~rc1/test/bandit_tests/Seltime_test.cc
Examining data/cdo-1.9.10~rc1/test/bandit_tests/variable_inputs_operators.cc
Examining data/cdo-1.9.10~rc1/test/bandit_tests/createProcessesFromInput.cc
Examining data/cdo-1.9.10~rc1/test/bandit_tests/chained_operators.cc

FINAL RESULTS:

data/cdo-1.9.10~rc1/libcdi/app/cdi.c:685:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:925:19:  [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).
		  else          strcpy(varname, paramstr);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:961:19:  [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).
		  else          strcpy(varname, paramstr);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:997:19:  [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).
		  else          strcpy(varname, paramstr);
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:21:19:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  const int len = sprintf(datetimestr, DATE_FORMAT "T" TIME_FORMAT, year, month, day, hour, minute, second);
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:31:19:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  const int len = sprintf(datestr, DATE_FORMAT, year, month, day);
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:41:19:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  const int len = sprintf(timestr, TIME_FORMAT, hour, minute, second);
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectData.c:108:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf ( &filename[0], "%s_%d.grb", name, tfID );
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectData.c:121:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf ( &filename[0], "%s_%d.grb", name, tfID );
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.c:146:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf ( &filename[0], "%s%c_%d.grb", nameExp, asciiA + i, tfID );
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.c:163:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf ( &filename[0], "%s%c_%d.grb", nameExp, asciiA + i, tfID );
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:82:2:  [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(comment, libvers);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:261:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(atttxt, "%s: %s", timeVarName, cellMethod);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:743:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(varname, "%s", name);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:762: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(name, varname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:796: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, varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3702:2:  [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(comment, libvers);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:9628:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(grprsm, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:9981:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(hversion, "%4s", (char*)&isec1[40]); hversion[4] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20771:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21263:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21286:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21322:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, errorString, ap);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21349:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, ap);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21361:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stdout, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22008:8:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  long access;         // file access
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23036:61:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
      fprintf(stderr, " file access      : %ld\n", fileptr->access);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25412: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(gridname, gridNamePtr(gridtype));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:31110:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %s %s", ftypeStr, advStr, subclassDescription);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32086:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %d %d %d %d %d %d %d", escapedPath, me->variableCount, me->curVariable, me->curLevelCount, me->curLevel, me->curSubtypeCount, me->curSubtype, me->curTimestep);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32649:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %zu", escapedPath, (size_t)me->fileOffset);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39631: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(ncvars[ncvarid].name, name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39681:41:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        pos += (size_t)(sprintf(buf + pos, "%zu%s", chunks[i], i > 0 ? "x" : ""));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42102:19:  [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(timeunits, ncvar->units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43389:34:  [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).
          if ( dimname[0] == 0 ) strcpy(dimname, axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43556: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).
    if ( xdimname[0] == 0 ) strcpy(xdimname, xdimname_default);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43579:31:  [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).
      if ( vdimname[0] == 0 ) strcpy(vdimname, vdimname_default);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44139:19:  [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).
  if ( zname[0] ) strcpy(axisname, zname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44173:20:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    len = (size_t)(sprintf(txt, "%s%s %s%s", "a: a b: b p0: ", p0name, "ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44175:20:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    len = (size_t)(sprintf(txt, "%s%s", "ap: ap b: b ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44231:28:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            len = (size_t)(sprintf(txt, "%s%s %s%s", "a: a_bnds b: b_bnds p0: ", p0name, "ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44233:28:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            len = (size_t)(sprintf(txt, "%s%s", "ap: ap_bnds b: b_bnds ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44421:30:  [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).
      if ( dimname[0] == 0 ) strcpy(dimname, axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45002: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(unitstr, taxis->units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45017: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(unitstr, unitstrfmt[fmtidx]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45032:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(unitstr, "%s since %d-%d-%d %02d:%02d:%02d",
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45050: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(unitstr, tunitNamePtr(timeunit));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46482: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(hoper, unreduced ? "R" : "D");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54965:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(atttxt, "%s: %s", timeVarName, cellMethod);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55447:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(varname, "%s", name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55466: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(name, varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55500: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, varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59937: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(tablefile, tablePath);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59942:3:  [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(tablefile, tablename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59967: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(tablefile, tablename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60005: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(tablefile, modelName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60308: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, parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60310: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(longname, parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60312: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(units, parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61255: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(taxisname, name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61267: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(taxislongname, longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61279: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(taxisunits, units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62435:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  int iret = sprintf(uuidstr, uuidFmt,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62450: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. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int iret = sscanf(uuidstr, uuidFmt,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67770: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(extra, vlistptr->vars[varID].extra);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69038: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(zaxisname, zaxisNamePtr(zaxistype));
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:2157:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(grprsm, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:2510:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(hversion, "%4s", (char*)&isec1[40]); hversion[4] = 0;
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:94:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/error.c:32:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/error.c:55:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/error.c:91:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, errorString, ap);
data/cdo-1.9.10~rc1/libcdi/src/error.c:118:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, ap);
data/cdo-1.9.10~rc1/libcdi/src/error.c:130:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stdout, fmt, args);
data/cdo-1.9.10~rc1/libcdi/src/file.c:80:8:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  long access;         // file access
data/cdo-1.9.10~rc1/libcdi/src/file.c:1108:61:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
      fprintf(stderr, " file access      : %ld\n", fileptr->access);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:590: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(gridname, gridNamePtr(gridtype));
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:314:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %s %s", ftypeStr, advStr, subclassDescription);
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c:122:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %d %d %d %d %d %d %d", escapedPath, me->variableCount, me->curVariable, me->curLevelCount, me->curLevel, me->curSubtypeCount, me->curSubtype, me->curTimestep);
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c:144:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(result, "%s %zu", escapedPath, (size_t)me->fileOffset);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_ordered.c:44: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(of->name, filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpinonb.c:50: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(of->name, filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:62: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(bfd->name, filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixfpguardsendrecv.c:75: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(afd->name, key);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:44: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(bfp->name, filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:47: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(afp->name, filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_util.c:34:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, errorString, ap);
data/cdo-1.9.10~rc1/libcdi/src/pio_util.c:48:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, fmt, ap);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1104: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(ncvars[ncvarid].name, name);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1154:41:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        pos += (size_t)(sprintf(buf + pos, "%zu%s", chunks[i], i > 0 ? "x" : ""));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3575:19:  [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(timeunits, ncvar->units);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:480:34:  [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).
          if ( dimname[0] == 0 ) strcpy(dimname, axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:647: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).
    if ( xdimname[0] == 0 ) strcpy(xdimname, xdimname_default);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:670:31:  [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).
      if ( vdimname[0] == 0 ) strcpy(vdimname, vdimname_default);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1230:19:  [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).
  if ( zname[0] ) strcpy(axisname, zname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1264:20:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    len = (size_t)(sprintf(txt, "%s%s %s%s", "a: a b: b p0: ", p0name, "ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1266:20:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    len = (size_t)(sprintf(txt, "%s%s", "ap: ap b: b ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1322:28:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            len = (size_t)(sprintf(txt, "%s%s %s%s", "a: a_bnds b: b_bnds p0: ", p0name, "ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1324:28:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            len = (size_t)(sprintf(txt, "%s%s", "ap: ap_bnds b: b_bnds ps: ", psname));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1512:30:  [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).
      if ( dimname[0] == 0 ) strcpy(dimname, axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:64: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(unitstr, taxis->units);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:79: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(unitstr, unitstrfmt[fmtidx]);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:94:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(unitstr, "%s since %d-%d-%d %02d:%02d:%02d",
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:112: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(unitstr, tunitNamePtr(timeunit));
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1301: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(hoper, unreduced ? "R" : "D");
data/cdo-1.9.10~rc1/libcdi/src/table.c:404: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(tablefile, tablePath);
data/cdo-1.9.10~rc1/libcdi/src/table.c:409:3:  [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(tablefile, tablename);
data/cdo-1.9.10~rc1/libcdi/src/table.c:434: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(tablefile, tablename);
data/cdo-1.9.10~rc1/libcdi/src/table.c:472: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(tablefile, modelName);
data/cdo-1.9.10~rc1/libcdi/src/table.c:775: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, parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/table.c:777: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(longname, parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/table.c:779: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(units, parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:909: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(taxisname, name);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:921: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(taxislongname, longname);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:933: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(taxisunits, units);
data/cdo-1.9.10~rc1/libcdi/src/util.c:32:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  int iret = sprintf(uuidstr, uuidFmt,
data/cdo-1.9.10~rc1/libcdi/src/util.c:47: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. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int iret = sscanf(uuidstr, uuidFmt,
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:985: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(extra, vlistptr->vars[varID].extra);
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:323: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(zaxisname, zaxisNamePtr(zaxistype));
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:60: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(fname, prefix);
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:62: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(fname + prefix_len + 1, suffix);
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:296:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf ( &filename[0], "%s_%d.%s", fname_prefix, tfID, setup.suffix );
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:312:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf ( &filename[0], "%s_%d.%s", fname_prefix, tfID, setup.suffix );
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:416:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(filename, "%s_%d.cksum", fname_prefix, tfID);
data/cdo-1.9.10~rc1/libcdi/tests/pio_write.c:61:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(stderr, format, ap);
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:215:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf ( &filename[0], "%s_%d.%s", fname_prefix, tfID, setup.suffix );
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:231:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf ( &filename[0], "%s_%d.%s", fname_prefix, tfID, setup.suffix );
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:316:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(filename, "%s_%d.cksum", fname_prefix, tfID);
data/cdo-1.9.10~rc1/libcdi/tests/test_cdf_read.c:90:18:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              ? (sprintf((char *)buf, "%s%d", varDescPrefix,
data/cdo-1.9.10~rc1/src/CMOR.cc:108:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(dataset_path, "%s/dataset%d.json", cwd, procID);
data/cdo-1.9.10~rc1/src/CMOR.cc:629:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(ids, "%s,%d", ids, withnewcharaxis.inputKeys[i].varID);
data/cdo-1.9.10~rc1/src/CMOR.cc:965:37:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      for (int l = 1; l < len; l++) sprintf(infile_attvalue, "%s,%i", infile_attvalue, values[l]);
data/cdo-1.9.10~rc1/src/CMOR.cc:976:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(infile_attvalue,"%s,", infile_attvalue);
data/cdo-1.9.10~rc1/src/CMOR.cc:981:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(infile_attvalue,"%s%sf",
data/cdo-1.9.10~rc1/src/CMOR.cc:987:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(infile_attvalue, "%s%s",
data/cdo-1.9.10~rc1/src/CMOR.cc:1152:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(errStr, "ERROR! Attribute '%s' is required. Either it is missing, 'notSet', or the value is invalid.\n       "
data/cdo-1.9.10~rc1/src/CMOR.cc:1158:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(errStr, "%s, %s", errStr, reqAtt[i]);
data/cdo-1.9.10~rc1/src/CMOR.cc:1196: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(references, kv_model_id->values[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:1455:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(workfile, "%s/%s", cwd, dotconfig);
data/cdo-1.9.10~rc1/src/CMOR.cc:1608:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(units, "%s since %d-%d-%d %02d:%02d:%02d", tunitNamePtr(timeunit), year, month, day, hour, minute, second);
data/cdo-1.9.10~rc1/src/CMOR.cc:1642:7:  [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.
  if (sscanf(time_units, "%s since %d-%d-%d%*1s%02d:%02d:%02d%*1s", time_step, &attyear, &attmonth, &attday, &atthour,
data/cdo-1.9.10~rc1/src/CMOR.cc:1744:3:  [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.
  sscanf(required_time_units, "%s since %d-%d-%d%*1s%02d:%02d:%02d%*1s", atttimeunit, &attyear, &attmonth, &attday,
data/cdo-1.9.10~rc1/src/CMOR.cc:1884:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(cvname, "%s/%s", directory, cvwithout);
data/cdo-1.9.10~rc1/src/CMOR.cc:1895:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(command, "sed 's/\"hdl:21.14100\\/\\.\\*\"/\"\\^\\.*\"/' %s/CMIP6_CV.json >%s", directory, cvname);
data/cdo-1.9.10~rc1/src/CMOR.cc:1896:21:  [4] (shell) system:
  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.
      int dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:1947: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(freq, miptabfreq);
data/cdo-1.9.10~rc1/src/CMOR.cc:1951:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(cordexDir, "%s/%s/%s/%s/%s/%s/%s/%s/%s/%s/%s", kv_get_a_val(kvl, "dr", "./"), project_id,
data/cdo-1.9.10~rc1/src/CMOR.cc:1956:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(cordexFileTem, "%s_%s_%s_%s_%s_%s_%s", kv_get_a_val(kvl, "CORDEX_domain", nullptr),
data/cdo-1.9.10~rc1/src/CMOR.cc:2065:19:  [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(notincluded, kv.key.c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2091:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(dataset_path, "%s/dataset%d.json", cwd, procID);
data/cdo-1.9.10~rc1/src/CMOR.cc:2107:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(line.data(), "\"%s\" : \"%s\",\n", kv.key.c_str(), kv.values[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2137:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(line.data(), "\"%s\" : \"%s\",\n", allneeded[i], tmp);
data/cdo-1.9.10~rc1/src/CMOR.cc:2345:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(charvalstring, "char_axis_%s_%s", chardim, cmor_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:2351:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(charvalstring, "char_axis_%s", chardim);
data/cdo-1.9.10~rc1/src/CMOR.cc:2366:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(charvalstring, "char_axis_%s_%s_bounds", chardim, cmor_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:2368:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(charvalstring, "char_axis_%s_bounds", chardim);
data/cdo-1.9.10~rc1/src/CMOR.cc:2377:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(charvalstring, "char_axis_%s_%s_units", chardim, cmor_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:2379:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(charvalstring, "char_axis_%s_units", chardim);
data/cdo-1.9.10~rc1/src/CMOR.cc:2399:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf((char *) charcmor, "%s%.*s", (char *) charcmor, (int) (maxlen - strlen(charvals[0].c_str())), blanks.data());
data/cdo-1.9.10~rc1/src/CMOR.cc:2402:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf((char *) charcmor, "%s%s", (char *) charcmor, charvals[i].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2403:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf((char *) charcmor, "%s%.*s", (char *) charcmor, (int) (maxlen - strlen(charvals[i].c_str())), blanks.data());
data/cdo-1.9.10~rc1/src/CMOR.cc:2873:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(szc_key, "%s_bounds", zaxis);
data/cdo-1.9.10~rc1/src/CMOR.cc:2889:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(szc_key, "%s_units", zaxis);
data/cdo-1.9.10~rc1/src/CMOR.cc:3096:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(gridtable, "%s%s_grids", mip_table_dir, project_id);
data/cdo-1.9.10~rc1/src/CMOR.cc:3098:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(gridtable, "%s/%s_grids", mip_table_dir, project_id);
data/cdo-1.9.10~rc1/src/CMOR.cc:3100:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(gridtable, "%s/%s_grids.json", mip_table_dir, project_id);
data/cdo-1.9.10~rc1/src/CMOR.cc:3818:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(charvalstring, "char_axis_%s_%s", chardim, cmor_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:3822:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(charvalstring, "char_axis_%s", chardim);
data/cdo-1.9.10~rc1/src/CMOR.cc:5106:7:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
      snprintf(chunk_file, pos+1, cbuffer);
data/cdo-1.9.10~rc1/src/CMOR.cc:5157:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(trunk,"%s_", kv_get_a_val(kvl, "source_id", ""));
data/cdo-1.9.10~rc1/src/CMOR.cc:5159:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(trunk,"%s_", kv_get_a_val(kvl, "model_id", ""));
data/cdo-1.9.10~rc1/src/CMOR.cc:5161: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(trunk, miptab_freqptr);
data/cdo-1.9.10~rc1/src/CMOR.cc:5165: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(trunk, kv_get_a_val(kvl, description_atts[i], ""));
data/cdo-1.9.10~rc1/src/CMOR.cc:5172: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(name, charname);
data/cdo-1.9.10~rc1/src/CMOR.cc:5176:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(chunk_des_files[j], ".CHUNK_FILE_%s_%s.txt", name, trunk);
data/cdo-1.9.10~rc1/src/CMOR.cc:5325:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(command, "cp %s %s.save", chunk_files[i], chunk_files[i]);
data/cdo-1.9.10~rc1/src/CMOR.cc:5326:25:  [4] (shell) system:
  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.
          int dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:5537:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(track, "%s%s", prefixCordex, prelim);
data/cdo-1.9.10~rc1/src/CMOR.cc:5597:19:  [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(timename, dummy);
data/cdo-1.9.10~rc1/src/CMOR.cc:5615:19:  [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(timename, dummy);
data/cdo-1.9.10~rc1/src/CMOR.cc:5653:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(command, "mkdir -p %s/%s", kv_get_a_val(kvl, "cordexDir", nullptr), varname);
data/cdo-1.9.10~rc1/src/CMOR.cc:5655:29:  [4] (shell) system:
  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.
              int dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:5662:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(cordex_file_name, "%s/%s/%s_%s%s", kv_get_a_val(kvl, "cordexDir", nullptr), varname, varname,
data/cdo-1.9.10~rc1/src/CMOR.cc:5665:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(command, "mv %s %s", file_name, cordex_file_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:5666:25:  [4] (shell) system:
  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.
              dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:5689:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(newmember, "r%si", realization);
data/cdo-1.9.10~rc1/src/CMOR.cc:5693:19:  [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(chunkpath,file_name);
data/cdo-1.9.10~rc1/src/CMOR.cc:5707:31:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                              sprintf(newname, "%s%s%s", chunkpath, newmember, startcmp);
data/cdo-1.9.10~rc1/src/CMOR.cc:5710:35:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                                  sprintf(oldchunkpath, "%s%s", chunkpath, oldmember);
data/cdo-1.9.10~rc1/src/CMOR.cc:5713:31:  [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(chunkpath, newname);
data/cdo-1.9.10~rc1/src/CMOR.cc:5725:19:  [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(chunkpath, newname);
data/cdo-1.9.10~rc1/src/CMOR.cc:5728:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(command, "mkdir -p %s; mv %s %s;",
data/cdo-1.9.10~rc1/src/CMOR.cc:5731:33:  [4] (shell) system:
  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.
                  int dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:5740:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(command, "rmdir %s*;", oldchunkpath);
data/cdo-1.9.10~rc1/src/CMOR.cc:5742:29:  [4] (shell) system:
  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.
                  dir_err = system(command);
data/cdo-1.9.10~rc1/src/CMOR.cc:5823:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(maptabbuild, "%s/%s", maptabdir, maptab);
data/cdo-1.9.10~rc1/src/CMOR.cc:6009: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(miptabdir, cwd);
data/cdo-1.9.10~rc1/src/CMOR.cc:6012: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(miptabdir, cwd);
data/cdo-1.9.10~rc1/src/CMOR.cc:6033:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(miptab, "%s/%s_%s", miptabdir, project_id, params);
data/cdo-1.9.10~rc1/src/CMOR.cc:6038:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(miptab, "%s/%s_%s.json", miptabdir, project_id, params);
data/cdo-1.9.10~rc1/src/CMOR.cc:6137: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(tester, params);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:49: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(var.units_old, units_old);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:50: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(var.units, units);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:205: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(var.name, varname);
data/cdo-1.9.10~rc1/src/Cloudlayer.cc:153: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(varname, varList1[varID].name);
data/cdo-1.9.10~rc1/src/Consecstat.cc:193:18:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        default: printf(SWITCHWARN, __func__); break;
data/cdo-1.9.10~rc1/src/Consecstat.cc:226:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
            default: printf(SWITCHWARN, __func__); break;
data/cdo-1.9.10~rc1/src/Distgrid.cc:340: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Distgrid.cc:350:26:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      if (filesuffix[0]) sprintf(filename + nchars + 5, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:372:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cfd_longname2, CFD_LONGNAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:373:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cfd_name2,     CFD_NAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:424:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(csu_longname2, CSU_LONGNAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:425:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(csu_name2,     CSU_NAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:474:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, CWDI_LONGNAME, argN, argT);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:526:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, CWFI_LONGNAME, argN);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:654:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, GSL_LONGNAME, argN, argT, argN, argT);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:740:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, HWDI_LONGNAME, argN, argT);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:792:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, HWFI_LONGNAME, argN);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:896:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, SU_LONGNAME, argT);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1044:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(tr_longname, TR_LONGNAME, argT);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1167:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cdd_longname,  CDD_LONGNAME, threshold);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1168:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cdd_longname2, CDD_LONGNAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1169:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cdd_name2,     CDD_NAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1240:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cwd_longname,  CWD_LONGNAME, threshold);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1241:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cwd_longname2, CWD_LONGNAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1242:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(cwd_name2,     CWD_NAME2, ndays);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1328:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
          sprintf(lnamebuffer, PD_LONGNAME, threshold);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1614:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(lnamebuffer, RR1_LONGNAME, threshold);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1707:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, RX5DAY_LONGNAME2, argX);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1766:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(lnamebuffer, SDII_LONGNAME, threshold);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1838:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(longname, STRWIN_LONGNAME, maxWind);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:394: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(atttext, commandLine());
data/cdo-1.9.10~rc1/src/Echam5ini.cc:398: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(atttext, username);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:402: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(atttext, timestr);
data/cdo-1.9.10~rc1/src/Ensval.cc:209:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(ofilename, "%s.%s%s", ofilebase, type_suffix, filesuffix);
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:73: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(oname, cdoGetObase());
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:137: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(oname, eof_name);
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:138:26:  [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).
      if (filesuffix[0]) strcat(oname, filesuffix);
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:71: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(oname, cdoGetObase());
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:143: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(oname, eof_name);
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:144:26:  [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).
      if (filesuffix[0]) strcat(oname, filesuffix);
data/cdo-1.9.10~rc1/src/Exprf.cc:66: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(exprs, firstArg);
data/cdo-1.9.10~rc1/src/Exprf.cc:78: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(exprs, firstArg);
data/cdo-1.9.10~rc1/src/Exprf.cc:83: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(pexprs, exprArgv[i].c_str());
data/cdo-1.9.10~rc1/src/Exprf.cc:146: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(insert_point, tmp);
data/cdo-1.9.10~rc1/src/Exprf.cc:163: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(target, buffer);
data/cdo-1.9.10~rc1/src/Exprf.cc:191: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(sbuf, exprs);
data/cdo-1.9.10~rc1/src/Exprf.cc:193:11:  [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(buf, varname);
data/cdo-1.9.10~rc1/src/Exprf.cc:195:11:  [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(buf, sbuf);
data/cdo-1.9.10~rc1/src/Exprf.cc:270: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(parse_arg.coords[ncoords].units.data(), units);
data/cdo-1.9.10~rc1/src/Exprf.cc:275: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(parse_arg.coords[ncoords].longname.data(), longname);
data/cdo-1.9.10~rc1/src/Gradsdes.cc:971: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(ctlfile, datfile);
data/cdo-1.9.10~rc1/src/Harmonic.cc:76: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(filename, cdoGetStreamName(1));
data/cdo-1.9.10~rc1/src/Harmonic.cc:82:26:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      if (filesuffix[0]) sprintf(filename + nchars + 1, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:286: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(proj, pcs[i]);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:692: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(varname, name);
data/cdo-1.9.10~rc1/src/Importobs.cc:149:7:  [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.
      sscanf(line, "%s %s %s %g %g %g %d %g %g %g", dummy, station, datetime, &lat, &lon, &height1, &code, &pressure, &height2,
data/cdo-1.9.10~rc1/src/Intyear.cc:69: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Intyear.cc:79:26:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      if (filesuffix[0]) sprintf(filename + nchars + 4, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Lic.cc:417:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(filename, "%s%04d.png", obasename, num);
data/cdo-1.9.10~rc1/src/Maggraph.cc:321:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(date_time_str[0][tsID], "%s %s", dateToString(vdates[0][tsID]).c_str(), timeToString(vtimes[0][tsID]).c_str());
data/cdo-1.9.10~rc1/src/Maggraph.cc:385: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(min_date_time_str, date_time_str[0][0]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:386: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(max_date_time_str, date_time_str[0][ntime_steps - 1]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:408:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(date_time_str[fileID][tsID], "%s %s", dateToString(vdates[fileID][tsID]).c_str(),
data/cdo-1.9.10~rc1/src/Maggraph.cc:457: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(min_date_time_str, date_time_str[min_index][0]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:458: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(max_date_time_str, date_time_str[max_index][nts[max_index] - 1]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:605:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(legend_text_data, "%s", "Obsv");
data/cdo-1.9.10~rc1/src/Maggraph.cc:669:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(lines[0], "Variable : %s[%s]  Date : %s --%s", varname, varunits, min_date_time_str, max_date_time_str);
data/cdo-1.9.10~rc1/src/Magplot.cc:251:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(plotfilename, "%s [%s] %s", varname, units, datetime);
data/cdo-1.9.10~rc1/src/Magplot.cc:253:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(plotfilename, "%s_%s", plotfile, varname);
data/cdo-1.9.10~rc1/src/Magplot.cc:912:7:  [4] (buffer) fscanf:
  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.
      fscanf(fp, "%s", temp_table[i]);
data/cdo-1.9.10~rc1/src/Magplot.cc:1148:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(datetimestr, "%s %s", dateToString(vdate).c_str(), timeToString(vtime).c_str());
data/cdo-1.9.10~rc1/src/Magvector.cc:141:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(plotfilename, "Velocity Vectors %s", datetime);
data/cdo-1.9.10~rc1/src/Magvector.cc:143:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(plotfilename, "%s", plotfile);
data/cdo-1.9.10~rc1/src/Magvector.cc:390:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(datetimestr, "%s %s", dateToString(vdate).c_str(), timeToString(vtime).c_str());
data/cdo-1.9.10~rc1/src/NCL_wind.cc:147: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).
          if      (key == "u") strcpy(name_u, value.c_str());
data/cdo-1.9.10~rc1/src/NCL_wind.cc:148: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).
          else if (key == "v") strcpy(name_v, value.c_str());
data/cdo-1.9.10~rc1/src/Output.cc:390:23:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
                      fprintf(stdout, format, array[i]);
data/cdo-1.9.10~rc1/src/Remap.cc:168:3:  [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(line, remap_genweights ? " weights from " : " remapping from ");
data/cdo-1.9.10~rc1/src/Remap.cc:170:3:  [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(line, gridNamePtr(gridInqType(src_grid.gridID)));
data/cdo-1.9.10~rc1/src/Remap.cc:175:3:  [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(line, tmpstr);
data/cdo-1.9.10~rc1/src/Remap.cc:177:3:  [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(line, gridNamePtr(gridInqType(tgt_grid.gridID)));
data/cdo-1.9.10~rc1/src/Remap.cc:182:3:  [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(line, tmpstr);
data/cdo-1.9.10~rc1/src/Remap.cc:188: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(line, tmpstr);
data/cdo-1.9.10~rc1/src/Remap.cc:203:3:  [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(line, remap_file);
data/cdo-1.9.10~rc1/src/Remap.cc:205:3:  [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(line, gridNamePtr(gridInqType(src_grid.gridID)));
data/cdo-1.9.10~rc1/src/Remap.cc:210:3:  [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(line, tmpstr);
data/cdo-1.9.10~rc1/src/Remap.cc:216: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(line, tmpstr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:733:54:  [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).
          if (strlen(strToParsePtr) <= MAX_LINE_LEN) strcpy(line, strToParsePtr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1209:11:  [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(strval, bff);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1218:11:  [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(strval, bff);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1227:11:  [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(strval, bff);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1237:11:  [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(strval, bff);
data/cdo-1.9.10~rc1/src/Setattribute.cc:47: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(buffer, kv.key.c_str());
data/cdo-1.9.10~rc1/src/Setpartab.cc:78: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(var.name, varname);
data/cdo-1.9.10~rc1/src/Setrcaname.cc:59:11:  [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.
          sscanf(line, "%d\t%d\t%d\t%s\t%s\t%s", &scode, &sltype, &slevel, sname, sdescription, sunits);
data/cdo-1.9.10~rc1/src/Showattribute.cc:200: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(buffer, params[i].c_str());
data/cdo-1.9.10~rc1/src/Split.cc:41:19:  [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).
  if (swap_obase) strcat(filename, obase);
data/cdo-1.9.10~rc1/src/Split.cc:42:18:  [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).
  if (suffix[0]) strcat(filename, suffix);
data/cdo-1.9.10~rc1/src/Split.cc:101: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Split.cc:216:11:  [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(filename, paramstr);
data/cdo-1.9.10~rc1/src/Split.cc:291:11:  [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(filename, varList1[varID].name);
data/cdo-1.9.10~rc1/src/Splitrec.cc:50: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Splitrec.cc:81:30:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          if (filesuffix[0]) sprintf(filename + nchars + 6, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splitsel.cc:80: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Splitsel.cc:151:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(filename + nchars + 6, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splittime.cc:110: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Splittime.cc:180:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(filename + nchars, "%3s", seas_name[index]);
data/cdo-1.9.10~rc1/src/Splittime.cc:181:34:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              if (filesuffix[0]) sprintf(filename + nchars + 3, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splittime.cc:195: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).
                  if (slen) strcpy(oformat, sbuf);
data/cdo-1.9.10~rc1/src/Splittime.cc:198:22:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
              slen = sprintf(filename + nchars, oformat, index);
data/cdo-1.9.10~rc1/src/Splittime.cc:199:34:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              if (filesuffix[0]) sprintf(filename + nchars + slen, "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splityear.cc:73: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(filename, cdoGetObase());
data/cdo-1.9.10~rc1/src/Splityear.cc:152:34:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              if (filesuffix[0]) sprintf(filename + strlen(filename), "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splityear.cc:175:34:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              if (filesuffix[0]) sprintf(filename + strlen(filename), "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Timstat.cc:245: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(filename, cdoOperatorName(operatorID));
data/cdo-1.9.10~rc1/src/Timstat.cc:247: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(filename, cdoGetStreamName(1));
data/cdo-1.9.10~rc1/src/Varsstat.cc:52: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, varList1[0].name);
data/cdo-1.9.10~rc1/src/Varsstat.cc:57: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(zname, varList1[varID].name);
data/cdo-1.9.10~rc1/src/Varsstat.cc:66:22:  [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).
  if (!paramIsEqual) strcpy(name, cdoOperatorName(operatorID));
data/cdo-1.9.10~rc1/src/XTimstat.cc:287: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(filename, cdoOperatorName(operatorID));
data/cdo-1.9.10~rc1/src/XTimstat.cc:289: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(filename, cdoGetStreamName(1));
data/cdo-1.9.10~rc1/src/cdo_output.cc:100:22:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  size_t finalSize = snprintf(nullptr, 0, format, progname);
data/cdo-1.9.10~rc1/src/cdo_output.cc:102:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(errStr, format, progname);
data/cdo-1.9.10~rc1/src/cdo_output.cc:115:22:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  size_t finalSize = snprintf(nullptr, 0, format, progname, ncv, ncv);
data/cdo-1.9.10~rc1/src/cdo_output.cc:117:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(errStr, format, progname, ncv);
data/cdo-1.9.10~rc1/src/cdo_output.cc:121:22:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  size_t finalSize = snprintf(nullptr, 0, format, progname, ncv, ncv);
data/cdo-1.9.10~rc1/src/cdo_output.cc:123:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(errStr, format, progname, ncv, ncv);
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:172:31:  [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).
      else if (key == "name") strcpy(zaxis->name, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:173: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).
      else if (key == "units") strcpy(zaxis->units, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:174:35:  [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).
      else if (key == "longname") strcpy(zaxis->longname, value.c_str());
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:339: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(zaxis->units, units);
data/cdo-1.9.10~rc1/src/cdotest.cc:217:3:  [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(cdo_command, cdoPath);
data/cdo-1.9.10~rc1/src/cdotest.cc:219:3:  [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(cdo_command, argument);
data/cdo-1.9.10~rc1/src/cdotest.cc:221:12:  [4] (shell) system:
  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.
  status = system(cdo_command);
data/cdo-1.9.10~rc1/src/color.cc:248:24:  [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.
          if ((nread = sscanf(&line[2], "%s %s %s %s", T1, T2, T3, T4)) < 1) error++;
data/cdo-1.9.10~rc1/src/color.cc:260:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(option, "%s", T1);
data/cdo-1.9.10~rc1/src/color.cc:265:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(option, "%s/%s/%s/%s", T1, T2, T3, T4);
data/cdo-1.9.10~rc1/src/color.cc:270:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(option, "%s/%s/%s", T1, T2, T3);
data/cdo-1.9.10~rc1/src/color.cc:303:15:  [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.
      nread = sscanf(line, "%s %s %s %s %s %s %s %s %s %s", T0, T1, T2, T3, T4, T5, T6, T7, T8, T9);
data/cdo-1.9.10~rc1/src/color.cc:340:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(option, "%s/%s/%s/%s", T1, T2, T3, T4);
data/cdo-1.9.10~rc1/src/color.cc:342:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(option, "%s/%s/%s/%s", T6, T7, T8, T9);
data/cdo-1.9.10~rc1/src/color.cc:348:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(option, "%s/%s/%s", T1, T2, T3);
data/cdo-1.9.10~rc1/src/color.cc:350:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(option, "%s/%s/%s", T5, T6, T7);
data/cdo-1.9.10~rc1/src/color.cc:448: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(lut_name, name);
data/cdo-1.9.10~rc1/src/color.cc:450: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(cpt_name, name);
data/cdo-1.9.10~rc1/src/expr.cc:1240: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(cname, p1->u.var.nm);
data/cdo-1.9.10~rc1/src/expr_yacc.cc:567:19:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define YYFPRINTF fprintf
data/cdo-1.9.10~rc1/src/grid_read.cc:133:36:  [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).
      else if (key == "xname")     strcpy(grid.xname, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/grid_read.cc:134:36:  [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).
      else if (key == "yname")     strcpy(grid.yname, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/grid_read.cc:135:36:  [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).
      else if (key == "xdimname")  strcpy(grid.xdimname, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/grid_read.cc:136:36:  [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).
      else if (key == "ydimname")  strcpy(grid.ydimname, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/grid_read.cc:137:36:  [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).
      else if (key == "vdimname")  strcpy(grid.vdimname, parameter2word(value.c_str()));
data/cdo-1.9.10~rc1/src/grid_read.cc:138:36:  [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).
      else if (key == "xlongname") strcpy(grid.xlongname, value.c_str());
data/cdo-1.9.10~rc1/src/grid_read.cc:139:36:  [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).
      else if (key == "ylongname") strcpy(grid.ylongname, value.c_str());
data/cdo-1.9.10~rc1/src/grid_read.cc:140:36:  [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).
      else if (key == "xunits")    strcpy(grid.xunits, value.c_str());
data/cdo-1.9.10~rc1/src/grid_read.cc:141:36:  [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).
      else if (key == "yunits")    strcpy(grid.yunits, value.c_str());
data/cdo-1.9.10~rc1/src/grid_read.cc:142:36:  [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).
      else if (key == "path")      strcpy(grid.path, value.c_str());
data/cdo-1.9.10~rc1/src/grid_read.cc:145: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(uuidStr, value.c_str());
data/cdo-1.9.10~rc1/src/gridreference.cc:293:19:  [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(griddir, cdo::IconGrids);
data/cdo-1.9.10~rc1/src/gridreference.cc:294:19:  [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(gridfilepath, griddir);
data/cdo-1.9.10~rc1/src/gridreference.cc:295:19:  [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(gridfilepath, gridpath);
data/cdo-1.9.10~rc1/src/gridreference.cc:304: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(griddir, cdo::DownloadPath ? cdo::DownloadPath : ".");
data/cdo-1.9.10~rc1/src/gridreference.cc:310: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(gridfilepath, griddir);
data/cdo-1.9.10~rc1/src/gridreference.cc:311:11:  [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(gridfilepath, filename);
data/cdo-1.9.10~rc1/src/institution.cc:57:69:  [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).
      if ((nvar == 3 && maxvar == 4) || (nvar == 1 && maxvar == 2)) strcpy(name, pline);
data/cdo-1.9.10~rc1/src/institution.cc:59:69:  [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).
      if ((nvar == 4 && maxvar == 4) || (nvar == 2 && maxvar == 2)) strcpy(longname, pline);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:637:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(pout, "  Expecting yr/mo/dy/hr/mn, found %s\n", id);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1618: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(mrec, rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1873:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(pout, "Warning: Invalid XDEF syntax in %s -- Changing size of X axis from %d to 1 \n", pfi->dnam,
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1907:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(pout, "Warning: Invalid YDEF syntax in %s -- Changing size of Y axis from %d to 1 \n", pfi->dnam,
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1934:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(pout, "Warning: Invalid ZDEF syntax in %s -- Changing size of Z axis from %d to 1 \n", pfi->dnam,
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1962:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(pout, "Warning: Invalid TDEF syntax in %s -- Changing size of T axis from %d to 1 \n", pfi->dnam,
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2051:15:  [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(mrec, rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2209: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(mrec, rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2224:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf(pout, "Open Error:  Looking for \"endvars\", found \"%s\" instead.\n", rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2252:15:  [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(mrec, rec);
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:233: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(out, name);
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:241:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(buffer, "%d x %.16f y %.16f %s\n", i, cell.coordinates_x[i],
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:251: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(out, buffer);
data/cdo-1.9.10~rc1/src/modules.cc:728: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(original, opName.c_str());
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc:65:3:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
  vsprintf(str, fmt, args);
data/cdo-1.9.10~rc1/src/mpmo.h:57:20:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  if (!silentMode) printf((format + "\n").c_str(), Argument(args)...);
data/cdo-1.9.10~rc1/src/mpmo.h:68:3:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  fprintf(stderr, (format + "\n").c_str(), Argument(args)...);
data/cdo-1.9.10~rc1/src/mpmo.h:90:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr, (Cyan(context) + ": " + std::string(p_func) + get_padding(p_func) + format + "\n").c_str(), Argument(args)...);
data/cdo-1.9.10~rc1/src/mpmo.h:102:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr, (Cyan(context) + ": " + std::string(p_func) + get_padding(p_func) + format + "\n").c_str(), Argument(args)...);
data/cdo-1.9.10~rc1/src/printinfo.cc:20:3:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  snprintf(cstr, sizeof(cstr), DATE_FORMAT "T" TIME_FORMAT, year, month, day, hour, minute, second);
data/cdo-1.9.10~rc1/src/printinfo.cc:32:3:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  snprintf(cstr, sizeof(cstr), DATE_FORMAT, year, month, day);
data/cdo-1.9.10~rc1/src/printinfo.cc:44:3:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  snprintf(cstr, sizeof(cstr), TIME_FORMAT, hour, minute, second);
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:229: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(history, commandLine());
data/cdo-1.9.10~rc1/src/sellist.cc:242: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(wcdate, e.values[i].c_str());
data/cdo-1.9.10~rc1/src/table.cc:39: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(tablefile, tablepath);
data/cdo-1.9.10~rc1/src/table.cc:41:11:  [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(tablefile, tablename);
data/cdo-1.9.10~rc1/src/timer.cc:208: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).
  if (text) strcpy(rt[it].text, text);
data/cdo-1.9.10~rc1/src/util_fileextensions.cc:60:3:  [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(file, newext);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:57:5:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
int getopt(int argc, char *const argv[], const char *optstring);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:752:16:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ( (c = getopt(argc, argv, "b:f:i:o:t:w:z:cdhlMmnqRrsvVxXZ")) != EOF )
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectData.c:185:19:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((opt = getopt(argc, argv, "p:w:")) != -1)
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:80:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:362:16:  [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.
      envstr = getenv("CDI_MISSVAL");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:368:16:  [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.
      envstr = getenv("NC_CHUNKSIZEHINT");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:371:16:  [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.
      envstr = getenv("CDI_CHUNK_ALGO");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:374:16:  [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.
      envstr = getenv("SPLIT_LTYPE_105");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:377:16:  [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.
      envstr = getenv("IGNORE_ATT_COORDINATES");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:380:16:  [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.
      envstr = getenv("CDI_COORDINATES_LONLAT");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:383:16:  [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.
      envstr = getenv("IGNORE_VALID_RANGE");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:386:16:  [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.
      envstr = getenv("CDI_SKIP_RECORDS");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:393:16:  [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.
      envstr = getenv("CDI_CONVENTION");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:404:16:  [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.
      envstr = getenv("CDI_INVENTORY_MODE");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:415:16:  [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.
      envstr = getenv("CDI_VERSION_INFO");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:427:16:  [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.
      envstr = getenv("CDI_CALENDAR");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:445:16:  [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.
      envstr = getenv("PARTAB_INTERN");
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:448:16:  [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.
      envstr = getenv("PARTAB_PATH");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:6866:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7148:16:  [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.
      envstr = getenv("CDI_MISSVAL");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7154:16:  [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.
      envstr = getenv("NC_CHUNKSIZEHINT");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7157:16:  [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.
      envstr = getenv("CDI_CHUNK_ALGO");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7160:16:  [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.
      envstr = getenv("SPLIT_LTYPE_105");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7163:16:  [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.
      envstr = getenv("IGNORE_ATT_COORDINATES");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7166:16:  [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.
      envstr = getenv("CDI_COORDINATES_LONLAT");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7169:16:  [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.
      envstr = getenv("IGNORE_VALID_RANGE");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7172:16:  [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.
      envstr = getenv("CDI_SKIP_RECORDS");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7179:16:  [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.
      envstr = getenv("CDI_CONVENTION");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7190:16:  [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.
      envstr = getenv("CDI_INVENTORY_MODE");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7201:16:  [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.
      envstr = getenv("CDI_VERSION_INFO");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7213:16:  [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.
      envstr = getenv("CDI_CALENDAR");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7231:16:  [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.
      envstr = getenv("PARTAB_INTERN");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7234:16:  [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.
      envstr = getenv("PARTAB_PATH");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11612:19:  [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.
      envString = getenv("GRIB_CALENDAR");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11632:15:  [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.
  envString = getenv("GRIB_GRIBEX_MODE_ON");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11642:16:  [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.
  env_stream = getenv("GRPRS_STREAM");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20860:12:  [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.
  envstr = getenv("MEMORY_INFO");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20863:12:  [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.
  envstr = getenv("MEMORY_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21431:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22509:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22601:21:  [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.
  char *envString = getenv("FILE_FLAG_WRITE");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23831:16:  [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.
  char* temp = getenv("TZ"), *result = NULL;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25049:21:  [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.
  const char *env = getenv("GRID_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29550:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33637:15:  [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.
  char *env = getenv("MODEL_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35191:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59629:16:  [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.
  char *path = getenv("TABLEPATH");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60511:15:  [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.
  char *env = getenv("TAXIS_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62522:25:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    caller_rand_state = setstate(uuid_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62537:3:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  setstate(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62606:25:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    caller_rand_state = setstate(uuid_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62626:30:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    uuid[i] = (unsigned char)random();
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62649:25:  [3] (random) seed48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    unsigned short *p = seed48(our_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62654:30:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    uuid[i] = (unsigned char)lrand48();
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62661:3:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  setstate(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62663:3:  [3] (random) seed48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  seed48(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63961:15:  [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.
  char *env = getenv("VLIST_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68879:21:  [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.
  const char *env = getenv("ZAXIS_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4141:19:  [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.
      envString = getenv("GRIB_CALENDAR");
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4161:15:  [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.
  envString = getenv("GRIB_GRIBEX_MODE_ON");
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4171:16:  [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.
  env_stream = getenv("GRPRS_STREAM");
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:183:12:  [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.
  envstr = getenv("MEMORY_INFO");
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:186:12:  [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.
  envstr = getenv("MEMORY_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:55:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/file.c:581:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/file.c:673:21:  [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.
  char *envString = getenv("FILE_FLAG_WRITE");
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:173:16:  [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.
  char* temp = getenv("TZ"), *result = NULL;
data/cdo-1.9.10~rc1/libcdi/src/grid.c:226:21:  [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.
  const char *env = getenv("GRID_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:41:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/model.c:122:15:  [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.
  char *env = getenv("MODEL_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/pio_impl.h:33:19:  [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.
  const char *p = getenv("BUFSIZE");
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:55:21:  [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.
  char *envString = getenv(envName);
data/cdo-1.9.10~rc1/libcdi/src/table.c:96:16:  [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.
  char *path = getenv("TABLEPATH");
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:164:15:  [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.
  char *env = getenv("TAXIS_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/util.c:119:25:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    caller_rand_state = setstate(uuid_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/util.c:134:3:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  setstate(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/util.c:203:25:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    caller_rand_state = setstate(uuid_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/util.c:223:30:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    uuid[i] = (unsigned char)random();
data/cdo-1.9.10~rc1/libcdi/src/util.c:246:25:  [3] (random) seed48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    unsigned short *p = seed48(our_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/util.c:251:30:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    uuid[i] = (unsigned char)lrand48();
data/cdo-1.9.10~rc1/libcdi/src/util.c:258:3:  [3] (random) setstate:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  setstate(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/util.c:260:3:  [3] (random) seed48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  seed48(caller_rand_state);
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:151:15:  [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.
  char *env = getenv("VLIST_DEBUG");
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:163:21:  [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.
  const char *env = getenv("ZAXIS_DEBUG");
data/cdo-1.9.10~rc1/libcdi/tests/cksum_verify.c:41:35:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      size_t block_idx = ((size_t)lrand48()) % block_size;
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:141:19:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((opt = getopt(argc, argv,
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:173:26:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      int varLevs = (int)random()%4;
data/cdo-1.9.10~rc1/libcdi/tests/pio_write.c:211:19:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((opt = getopt(argc, argv, "f:m:n:z:t:y:cs:q:"
data/cdo-1.9.10~rc1/libcdi/tests/pio_write.c:316:3:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srandom(randSeed);
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:140:26:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      int varLevs = (int)random()%4;
data/cdo-1.9.10~rc1/src/Echam5ini.cc:328: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.
  username = getenv("LOGNAME");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:331:18:  [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.
      username = getenv("USER");
data/cdo-1.9.10~rc1/src/Exprf.cc:450:8:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  std::srand(Options::Random_Seed);
data/cdo-1.9.10~rc1/src/Gridcell.cc:50:21:  [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.
      auto envstr = getenv("PLANET_RADIUS");
data/cdo-1.9.10~rc1/src/Math.cc:241:36:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  if (operfunc == Oper::Rand) std::srand(Options::Random_Seed);
data/cdo-1.9.10~rc1/src/Mergetime.cc:49:23:  [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.
  const auto envstr = getenv("SKIP_SAME_TIME");
data/cdo-1.9.10~rc1/src/Remap.cc:241:12:  [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.
  envstr = getenv("MAX_REMAPS");
data/cdo-1.9.10~rc1/src/Remap.cc:252:12:  [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.
  envstr = getenv("REMAP_MAX_ITER");
data/cdo-1.9.10~rc1/src/Remap.cc:263:12:  [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.
  envstr = getenv("REMAP_TEST");
data/cdo-1.9.10~rc1/src/Remap.cc:278:12:  [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.
  envstr = getenv("REMAP_SORT_MODE");
data/cdo-1.9.10~rc1/src/Remap.cc:289:12:  [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.
  envstr = getenv("REMAP_THRESHHOLD");
data/cdo-1.9.10~rc1/src/Remap.cc:302:12:  [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.
  envstr = getenv("CDO_REMAP_RADIUS");
data/cdo-1.9.10~rc1/src/Remap.cc:311:12:  [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.
  envstr = getenv("CDO_GRIDSEARCH_RADIUS");
data/cdo-1.9.10~rc1/src/Remap.cc:322:12:  [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.
  envstr = getenv("REMAP_AREA_MIN");
data/cdo-1.9.10~rc1/src/Remap.cc:333:12:  [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.
  envstr = getenv("REMAP_NUM_SRCH_BINS");
data/cdo-1.9.10~rc1/src/Remap.cc:345:12:  [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.
  envstr = getenv("REMAP_NON_GLOBAL");
data/cdo-1.9.10~rc1/src/Remap.cc:356:12:  [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.
  envstr = getenv("REMAP_EXTRAPOLATE");
data/cdo-1.9.10~rc1/src/Remap.cc:375:12:  [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.
  envstr = getenv("CDO_REMAP_GENWEIGHTS");
data/cdo-1.9.10~rc1/src/Remap.cc:504:18:  [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.
  char *envstr = getenv("CDO_REMAP_NORMALIZE_OPT");  // obsolete
data/cdo-1.9.10~rc1/src/Remap.cc:517:12:  [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.
  envstr = getenv("CDO_REMAP_NORM");
data/cdo-1.9.10~rc1/src/Remapeta.cc:245:24:  [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.
  const char *envstr = getenv("REMAPETA_PTOP");
data/cdo-1.9.10~rc1/src/Runstat.cc:65:17:  [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.
  auto envstr = getenv("RUNSTAT_NOMISS");
data/cdo-1.9.10~rc1/src/Vargen.cc:201:8:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  std::srand(seed);
data/cdo-1.9.10~rc1/src/Vertintap.cc:130:27:  [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.
      const auto envstr = getenv("EXTRAPOLATE");
data/cdo-1.9.10~rc1/src/Vertintgh.cc:73:27:  [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.
      const auto envstr = getenv("EXTRAPOLATE");
data/cdo-1.9.10~rc1/src/Vertintml.cc:139:27:  [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.
      const auto envstr = getenv("EXTRAPOLATE");
data/cdo-1.9.10~rc1/src/cdo.cc:693:19:  [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.
  cdo::Username = getenv("LOGNAME");
data/cdo-1.9.10~rc1/src/cdo.cc:696:23:  [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.
      cdo::Username = getenv("USER");
data/cdo-1.9.10~rc1/src/cdo.cc:700:17:  [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.
  auto envstr = getenv("CDO_DOWNLOAD_PATH");
data/cdo-1.9.10~rc1/src/cdo.cc:707:12:  [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.
  envstr = getenv("CDO_ICON_GRIDS");
data/cdo-1.9.10~rc1/src/cdo.cc:714:12:  [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.
  envstr = getenv("CDO_DISABLE_HISTORY");
data/cdo-1.9.10~rc1/src/cdo.cc:724:12:  [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.
  envstr = getenv("CDO_RESET_HISTORY");
data/cdo-1.9.10~rc1/src/cdo.cc:734:12:  [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.
  envstr = getenv("CDO_HISTORY_INFO");
data/cdo-1.9.10~rc1/src/cdo.cc:743:12:  [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.
  envstr = getenv("CDO_FILE_SUFFIX");
data/cdo-1.9.10~rc1/src/cdo.cc:753:12:  [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.
  envstr = getenv("CDO_DISABLE_FILESUFFIX");
data/cdo-1.9.10~rc1/src/cdo.cc:763:12:  [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.
  envstr = getenv("CDO_DIAG");
data/cdo-1.9.10~rc1/src/cdo.cc:773:12:  [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.
  envstr = getenv("CDO_USE_FFTW");
data/cdo-1.9.10~rc1/src/cdo.cc:781:12:  [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.
  envstr = getenv("CDO_VERSION_INFO");
data/cdo-1.9.10~rc1/src/cdo.cc:804:12:  [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.
  envstr = getenv("HOSTTYPE");
data/cdo-1.9.10~rc1/src/cdo.cc:806:12:  [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.
  envstr = getenv("VENDOR");
data/cdo-1.9.10~rc1/src/cdo.cc:808:12:  [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.
  envstr = getenv("OSTYPE");
data/cdo-1.9.10~rc1/src/cdo.cc:810:12:  [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.
  envstr = getenv("MACHTYPE");
data/cdo-1.9.10~rc1/src/cdo_season.cc:21:22:  [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.
      char *envstr = getenv("CDO_SEASON_START");
data/cdo-1.9.10~rc1/src/cdotest.cc:188:19:  [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.
  char *cdoPath = getenv("CDO_PATH");
data/cdo-1.9.10~rc1/src/datetime.cc:50:18:  [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.
  char *envstr = getenv("CDO_TIMESTAT_DATE");
data/cdo-1.9.10~rc1/src/datetime.cc:51:35:  [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.
  if (envstr == nullptr) envstr = getenv("RUNSTAT_DATE");
data/cdo-1.9.10~rc1/src/eof_mode.cc:14:18:  [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.
  char *envstr = getenv("CDO_SVD_MODE");
data/cdo-1.9.10~rc1/src/eof_mode.cc:50:18:  [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.
  char *envstr = getenv("CDO_WEIGHT_MODE");
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:878: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.
      envr = getenv(envv);
data/cdo-1.9.10~rc1/src/percentiles_hist.cc:45:20:  [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.
  const auto str = getenv("CDO_PCTL_NBINS");
data/cdo-1.9.10~rc1/src/statistic.cc:1257:12:  [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.
  envstr = getenv("MAX_JACOBI_ITER");
data/cdo-1.9.10~rc1/src/statistic.cc:1261:12:  [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.
  envstr = getenv("FNORM_PRECISION");
data/cdo-1.9.10~rc1/src/table.cc:34:25:  [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.
      char *tablepath = getenv("CD_TABLEPATH");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:41:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:193: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 vdatestr[32], vtimestr[32];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:337: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 tmpname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:338: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:340: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 pstr[4];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:341: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:371:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  strcpy(tmpname, "unknown");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:378:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  strcpy(tmpname, "unknown");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:421:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  if      ( datatype == CDI_DATATYPE_PACK   ) strcpy(pstr, "P0");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:422:48:  [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.
	  else if ( datatype > 0 && datatype <= 32  ) sprintf(pstr, "P%d", datatype);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:423:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_CPX32  ) strcpy(pstr, "C32");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:424:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_CPX64  ) strcpy(pstr, "C64");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:425:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_FLT32  ) strcpy(pstr, "F32");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:426:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_FLT64  ) strcpy(pstr, "F64");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:427:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_INT8   ) strcpy(pstr, "I8");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:428:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_INT16  ) strcpy(pstr, "I16");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:429:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_INT32  ) strcpy(pstr, "I32");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:430:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_UINT8  ) strcpy(pstr, "U8");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:431:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_UINT16 ) strcpy(pstr, "U16");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:432:48:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else if ( datatype == CDI_DATATYPE_UINT32 ) strcpy(pstr, "U32");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:433:44:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  else                                    strcpy(pstr, "-1");
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:540:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nbits = atoi(datatypestr);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:712:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	complevel = atoi(&arg[4]);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:744: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:745: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:760:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	case 'i': numWorkerIn = atoi(optarg);  break;
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:761:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	case 'o': numWorkerOut = atoi(optarg); break;
data/cdo-1.9.10~rc1/libcdi/app/createtable.c:102:61:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *ptfp = (ofile[0] == '-' && ofile[1] == '\0')?stdout:fopen(ofile, "w");
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:110: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 xname[CDI_MAX_NAME], xunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:137: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 yname[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:164: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 xname[CDI_MAX_NAME], yname[CDI_MAX_NAME], xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:316: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:321:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          if (name[0] == 0) strcpy(name, "undefined");
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:374:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char reference_link[8192];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:402: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:406: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 uuidOfHGridStr[37];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:484: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 psname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:517: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:522: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 uuidOfVGridStr[37];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:535: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 zaxisname[CDI_MAX_NAME], zname[CDI_MAX_NAME], zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:603: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 vdatestr[32], vtimestr[32];
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectData.c:52: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 filename[1024];
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.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 filename[1024];
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.c:261:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      IOMode = atoi(argv[1]);
data/cdo-1.9.10~rc1/libcdi/examples/pio/collectDataNStreams.c:262:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nProcsIO = atoi(argv[2]);
data/cdo-1.9.10~rc1/libcdi/examples/pio/compareResourcesArray.c:174:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *fp = fopen("reshArrayModel.txt", "w");
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp:21: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp: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 _xname[CDI_MAX_NAME], _xlongname[CDI_MAX_NAME], _xunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp:23: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 _yname[CDI_MAX_NAME], _ylongname[CDI_MAX_NAME], _yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp:207: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[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp:243: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[CDI_MAX_NAME],_longname[CDI_MAX_NAME], _units[CDI_MAX_NAME], _stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.cpp:411: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/interfaces/cdi.hpp:43: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/binary.c:74: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.
  unsigned char f77block[4];
data/cdo-1.9.10~rc1/libcdi/src/binary.c:90: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.
  unsigned char f77block[4];
data/cdo-1.9.10~rc1/libcdi/src/binary.h:15:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:35: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.
  static char hdf_libvers[256];
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:43: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(hdf_libvers, "%u.%u.%u threadsafe", majnum, minnum, relnum);
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:45: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(hdf_libvers, "%u.%u.%u", majnum, minnum, relnum);
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:71: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.
  static char comment[256] = "Climate Data Interface version ";
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:80:2:  [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(comment, "??");
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:83: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(comment, " (https://mpimet.mpg.de/cdi)");
data/cdo-1.9.10~rc1/libcdi/src/cdf_int.c:414: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 name[256];
data/cdo-1.9.10~rc1/libcdi/src/cdf_int.c:439: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 name[256];
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:349: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(gridptrDup->reducedPoints, gridptrOrig->reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:356: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(gridptrDup->x.vals, gridptrOrig->x.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:363: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(gridptrDup->y.vals, gridptrOrig->y.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:370: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(gridptrDup->x.bounds, gridptrOrig->x.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:377: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(gridptrDup->y.bounds, gridptrOrig->y.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:385:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(gridptrDup->area, gridptrOrig->area, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:393: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(gridptrDup->mask, gridptrOrig->mask, size * sizeof (mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdf_lazy_grid.c:400: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(gridptrDup->mask_gme, gridptrOrig->mask_gme, size * sizeof(mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdf_read.c:319:3:  [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(temp[0], data, inHeight*inWidth*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_read.c:353:3:  [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(temp[0], data, inHeight*inWidth*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdf_read.c:509: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:79:3:  [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(tu, timeunits, (len+1) * sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:174: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 lc_units[16];
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:176:3:  [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(lc_units, units, 15);
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:203: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 lc_units[16];
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:205:3:  [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(lc_units, units, 15);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:245: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 timeVarName[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:260: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 atttxt[CDI_MAX_NAME+10];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:270: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:369: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:490: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.
void cdfAppendCoordinates(int fileID, int ncvarID, char coordinates[CDI_MAX_NAME])
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:502:62:  [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 xid, int yid, size_t gridsize, char axis[5], size_t iax)
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:513: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 gmapvarname[CDI_MAX_NAME]; gmapvarname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:529: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:538: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:547: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 coordinates[CDI_MAX_NAME]; coordinates[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:590: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.
          char cellarea[CDI_MAX_NAME] = "area: ";
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:631:177:  [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 cdfDefineDimsAndChunks(const stream_t *streamptr, int varID, int xid, int yid, int zid, size_t gridsize, const int dimorder[3], int dims[4], bool lchunk, size_t chunks[4], char axis[5], size_t *piax)
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:717: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:737:34:  [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 cdfCheckVarname(int fileID, char name[CDI_MAX_NAME])
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:742: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:749: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.
          if ( iz ) sprintf(varname2, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:767:32:  [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 cdfGenVarname(int fileID, char name[CDI_MAX_NAME], int pnum, int pcat, int *pdis, int *pcode)
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:769: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:776: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(varname, "var%d", code);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:778: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(varname, "param%d.%d.%d", pnum, pcat, *pdis);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:786: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.
      if ( iz ) sprintf(varname2, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:840: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 axis[5];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:845: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:849: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:852: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:855: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:886: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:997:15:  [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(mdata_sp, pdata_sp, nvals*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:1027:15:  [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(mdata_dp, pdata_dp, nvals*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:1060:19:  [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(mdata_sp, pdata_sp, nvals*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:1082:19:  [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(mdata_dp, pdata_dp, nvals*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdi.h:433:115:  [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 cdiIterator_inqLevelUuid(CdiIterator *me, int *outVgridNumber_optional, int *outLevelCount_optional, unsigned char outUuid_optional[CDI_UUID_SIZE]);   // outUuid must point to a buffer of 16 bytes, returns an error code if no generalized zaxis is used.
data/cdo-1.9.10~rc1/libcdi/src/cdi.h:958:48:  [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    gridDefUUID(int gridID, const unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdi.h:961:42:  [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    gridInqUUID(int gridID, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdi.h:1064:50:  [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    zaxisDefUUID(int zaxisID, const unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdi.h:1067:44:  [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    zaxisInqUUID(int zaxisID, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:64:3:  [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(attp->name, name, slen+1);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:84: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(attp->xvalue, xvalue, xsz);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:174: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(name, attp->name, attp->namesz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:317: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(xp, attp->xvalue, xsz);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:606:20:  [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 *attName = (char *) Malloc((size_t)tempbuf[0] + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:104:35:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( fact ) envValue = fact*atol(envString);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:369:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiNcChunksizehint = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:375:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiSplitLtype105 = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:378:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiIgnoreAttCoordinates = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:381:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiCoordinatesLonLat = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:384:43:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiIgnoreValidRange = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:389:21:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	  cdiSkipRecords = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:418:22:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          int ival = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:446:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiPartabIntern = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.h:188: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      varname[32]; // needed for grib decoding with GRIB_API
data/cdo-1.9.10~rc1/libcdi/src/cdi_key.c:489: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(keyp->v.s, bytes, length);
data/cdo-1.9.10~rc1/libcdi/src/cdi_key.c:536:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(bytes, keyp->v.s, *length);
data/cdo-1.9.10~rc1/libcdi/src/cdi_uuid.h:23: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.
void cdiCreateUUID(unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:523:115:  [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 cdiIterator_inqLevelUuid(CdiIterator *me, int *outVgridNumber_optional, int *outLevelCount_optional, unsigned char outUuid_optional[CDI_UUID_SIZE]);   // outUuid must point to a buffer of 16 bytes, returns an error code if no generalized zaxis is used.
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:1048:48:  [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    gridDefUUID(int gridID, const unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:1051:42:  [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    gridInqUUID(int gridID, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:1154:50:  [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    zaxisDefUUID(int zaxisID, const unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:1157:44:  [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    zaxisInqUUID(int zaxisID, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:1935:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:2038: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.
  unsigned char f77block[4];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:2054: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.
  unsigned char f77block[4];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3166: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      varname[32]; // needed for grib decoding with GRIB_API
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3655: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.
  static char hdf_libvers[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3663: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(hdf_libvers, "%u.%u.%u threadsafe", majnum, minnum, relnum);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3665: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(hdf_libvers, "%u.%u.%u", majnum, minnum, relnum);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3691: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.
  static char comment[256] = "Climate Data Interface version ";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3700:2:  [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(comment, "??");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3703: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(comment, " (https://mpimet.mpg.de/cdi)");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4370: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 name[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4395: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 name[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4945:3:  [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(tu, timeunits, (len+1) * sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5040: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 lc_units[16];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5042:3:  [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(lc_units, units, 15);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5069: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 lc_units[16];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5071:3:  [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(lc_units, units, 15);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5911: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(gridptrDup->reducedPoints, gridptrOrig->reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5918: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(gridptrDup->x.vals, gridptrOrig->x.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5925: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(gridptrDup->y.vals, gridptrOrig->y.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5932: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(gridptrDup->x.bounds, gridptrOrig->x.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5939: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(gridptrDup->y.bounds, gridptrOrig->y.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5947:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(gridptrDup->area, gridptrOrig->area, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5955: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(gridptrDup->mask, gridptrOrig->mask, size * sizeof (mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:5962: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(gridptrDup->mask_gme, gridptrOrig->mask_gme, size * sizeof(mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:6890:35:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( fact ) envValue = fact*atol(envString);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7155:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiNcChunksizehint = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7161:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiSplitLtype105 = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7164:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiIgnoreAttCoordinates = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7167:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiCoordinatesLonLat = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7170:43:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiIgnoreValidRange = atoi(envstr) > 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7175:21:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	  cdiSkipRecords = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7204:22:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          int ival = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7232:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( envstr ) cdiPartabIntern = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:7568:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:8693:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:9812: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 hversion[9];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:10553: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 yout[64];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:10578: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(yout, "%4d", nextlat);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:10599:27:  [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.
      if ( nrepeat >= 1 ) sprintf(yout+4, "to %5d", nextlat);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11266: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 buffer[4];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11635:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( atoi(envString) == 1 ) CGRIBEX_Const = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11648:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	  unit = atoi(env_stream);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11658:8:  [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(filename, "%2.2d", unit);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11659:17:  [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).
	      grprsm = fopen(filename, "w");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:11668:17:  [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).
	      grprsm = fopen(env_stream, "w");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:12759: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 paramstr[16];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:12760: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(paramstr, "%d.%d.%d", paramnum, paramcat, dis);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:13158: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(source, pbuf, sourceLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:13405:2:  [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(source, dest, destLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:13671:2:  [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, pbuf, tmpLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:15619:3:  [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((char*) &isec1[40], &pds[45], 4);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20717: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      filename[MEM_MAXNAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20718: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      functionname[MEM_MAXNAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20861:56:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( envstr && isdigit((int) envstr[0]) ) MEM_Info = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20864:57:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( envstr && isdigit((int) envstr[0]) ) MEM_Debug = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20977: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(memTable[memID].filename, filename, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20982:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      (void) strcpy(memTable[memID].filename, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20990: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(memTable[memID].functionname, functionname, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20995:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      (void) strcpy(memTable[memID].functionname, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21043:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  (void) memcpy(memTable[memID].filename, filename, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21048:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  (void) strcpy(memTable[memID].filename, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21056:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  (void) memcpy(memTable[memID].functionname, functionname, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21061:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  (void) strcpy(memTable[memID].functionname, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21516: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.
  unsigned char buffer[40], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21616:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21633:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21697: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21707: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22531:35:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if (fact) envValue = fact * atol(envString);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22812: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 *) ptr)[0] = fileptr->bufferPtr[0];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22819: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(ptr, fileptr->bufferPtr, size);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22898:14:  [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(filename, "rb");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22900:14:  [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 | O_BINARY);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22902: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).
    case 'x': fp = fopen(filename, "rb"); break;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22905:14:  [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(filename, "wb");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22907:14:  [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_CREAT | O_TRUNC | O_WRONLY | O_BINARY | FileFlagWrite, 0666);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22909: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).
    case 'a': fp = fopen(filename, "ab"); break;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23483: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 gribapi_libvers[64] = "";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23512: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(gribapi_libvers, "%d.%d.%d", major_version, minor_version, revision_version);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23650: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.
  const char sname[8];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23915: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(result, "%04d-%02d-%02dT%02d:%02d:%02d.000", me->tm_year + 1900, me->tm_mon + 1, me->tm_mday, me->tm_hour, me->tm_min, me->tm_sec);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24030: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 stepType[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24079:24:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                       strcpy(stepType, "instant2");  // was incorrectly set before into accum
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24158: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.
          char mesg[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24367: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 typeOfPacking[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24394: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.
  unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:24574: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.
void cdiCreateUUID(unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25050:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) GRID_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25056:3:  [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(gridptrDup, gridptrOrig, sizeof(grid_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25710: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26086:3:  [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(gridptr->reducedPoints, reducedPoints, (size_t)reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26106:3:  [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(reducedPoints, gridptr->reducedPoints, (size_t)gridptr->reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26228:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xvals, gridptr_xvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26254:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xvals, gridptr_xvals+start, length * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26278:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(xcvals[i], gridptr_xcvals[i], maxclength*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26366:3:  [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(gridptr->x.vals, xvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26384:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ycvals[i], gridptr_ycvals[i], maxclength*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26437:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yvals, gridptr_yvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26461:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yvals, gridptr_yvals+start, length * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26539:3:  [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(gridptr->y.vals, yvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26684: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26690: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27100: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.
              unsigned char uuid1[CDI_UUID_SIZE]; memset(uuid1, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27101: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.
              unsigned char uuid2[CDI_UUID_SIZE]; memset(uuid2, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27325: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.
  unsigned char uuid1[CDI_UUID_SIZE]; memset(uuid1, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27326: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.
  unsigned char uuid2[CDI_UUID_SIZE]; memset(uuid2, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27548: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(gridptrDup->reducedPoints, gridptrOrig->reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27555: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(gridptrDup->x.vals, gridptrOrig->x.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27562: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(gridptrDup->y.vals, gridptrOrig->y.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27571: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(gridptrDup->x.bounds, gridptrOrig->x.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27580: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(gridptrDup->y.bounds, gridptrOrig->y.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27590:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(gridptrDup->area, gridptrOrig_area, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27598: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(gridptrDup->mask, gridptrOrig->mask, size * sizeof (mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27605: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(gridptrDup->mask_gme, gridptrOrig->mask_gme, size * sizeof(mask_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27719:3:  [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(gridptr->area, area, size * sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27734: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(area, gridptr->area, gridptr->size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27808:3:  [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(*field, bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27852:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(xbounds, gridptr_xbounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27915: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(xbounds, gridptr_xbounds+start, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27926: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(ybounds, gridptr_ybounds+start, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27965:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ybounds, gridptr_ybounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28048: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28104: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 attstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28105: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 attstr2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28191:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char reference_link[8192];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28447: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28453: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28624: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28630: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28846:45:  [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 gridDefUUID(int gridID, const unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28868:39:  [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 gridInqUUID(int gridID, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29644: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.
  unsigned char buffer[1048], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29712:3:  [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(diegp->ipdb, siegp->ipdb, sizeof(siegp->ipdb));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29713:3:  [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(diegp->igdb, siegp->igdb, sizeof(siegp->igdb));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29714:3:  [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(diegp->vct,  siegp->vct,  sizeof(siegp->vct));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29736:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29756:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29818: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29830: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30166:28:  [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).
      me->fileDescriptor = open(me->path, O_RDONLY);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30623:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *name = (char *) Malloc((size_t)tempbuf[3] + (size_t)tempbuf[4]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30733:102:  [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 cdiFallbackIterator_zaxisUuid(CdiIterator *me, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30784:98:  [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 cdiGribIterator_zaxisUuid(CdiIterator *me, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:31502:97:  [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 cdiIterator_inqLevelUuid(CdiIterator* me, int* outVgridNumber, int* outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32205: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(result,     "%04d-%02d-%02dT%02d:%02d:%02d.000", year, month, day, hour, minute, second);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32218: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.
          char tempBuffer[CDI_MAX_NAME]; \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32271:105:  [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 cdiFallbackIterator_zaxisUuid(CdiIterator *super, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32609: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(result->gribBuffer, me->gribBuffer, me->curRecordSize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32778: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[16];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33009:101:  [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 cdiGribIterator_zaxisUuid(CdiIterator *super, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33638:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) MODEL_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33835:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      name = (char *) Malloc((size_t)tempbuf[3]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:34024: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(newNameSpaces, namespaces, sizeof (namespaces[0]));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35119:3:  [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((unsigned char *)buf + pos, data, (size_t)size);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35130:3:  [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, (unsigned char *)buf + pos, (size_t)size);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35278: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.
  unsigned char buffer[72], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35381:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35398:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35464: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35474: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35983: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[8];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:36328: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[2] = { filemode, 0 };
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:37259: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).
  FILE *cnp = fopen(cname, "w");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:37707: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 filename[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38502:58:  [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 varDefZAxisReference(int nlev, int nvgrid, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38561: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38636: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38637: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     longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38638: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     stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38639: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     units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38640: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     extra[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38877:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(attint, pintatt, attlen*sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38900:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(attdouble, pdoubleatt, attlen*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38937: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 attbuf[65636];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38945:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(atttext, attbuf, nc_attlen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38958:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(atttext, attbuf, ssize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39051: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(destTstep->records, sourceTstep->records, (size_t)nrecs*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39080: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(destTstep->records, sourceTstep->records, (size_t)nrecs*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39084: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(destTstep->recIDs, streamptr->tsteps[1].recIDs, (size_t)nvrecs*sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39091: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 dimname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39115: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.
          char sbuf[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39270: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 attstring[1024];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39412: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39444: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39453: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 axis[7];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39609: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39610: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39611: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39615: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 *checked_vars[max_check_vars];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39677: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 + pos, prefix, sizeof (prefix));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39733:15:  [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(ncvars[ncvarid].longname, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39737:15:  [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(ncvars[ncvarid].stdname, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39741:15:  [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(ncvars[ncvarid].units, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40116: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40117: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40979: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.
          char attstring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41189: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 attstring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41712: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 name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41719:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              vlistDefVarCode(vlistID, varID, atoi(name+3));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41726:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              vlistDefVarCode(vlistID, varID, atoi(name+4));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41750: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 name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41751: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 longname[CDI_MAX_NAME]; longname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41752: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 units[CDI_MAX_NAME]; units[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41969: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41970: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 attstring[65636];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42025:19:  [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(gridfile, attstring, attstrlen+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42041: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(gridfile, attstring, attstrlen+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42093: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 timeunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42389: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 gridfile[8912];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42390: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 fcreftime[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42393: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42394: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42441: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 gname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42719: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 attstring[1024];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42786: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 stvalue[128];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43104:22:  [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.
      else           sprintf(&axisname[3], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43122: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 axisname[5] = "nspX";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43130: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 axisname[5] = "nfcX";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43158: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43164: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43170: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43197: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43231: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43234:3:  [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(name, dimname, len + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43238: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.
      if ( iz ) sprintf(name + len, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43255: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.
  if ( iz ) sprintf(dimname + len, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43264: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 axisname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43270:3:  [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(axisname2, axisname, axisnameLen + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43274: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.
      if ( iz ) sprintf(axisname2 + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43282: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.
  if ( iz ) sprintf(axisname + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43288: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 axisname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43294:3:  [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(axisname2, axisname, axisnameLen + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43297: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.
      if ( iz ) sprintf(axisname2 + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43324: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.
  if ( iz ) sprintf(axisname + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43342: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 dimname[CDI_MAX_NAME+3]; dimname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43357: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.
          char dimname0[CDI_MAX_NAME]; dimname0[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43377: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43404:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char axisStr[2] = { axisLetter, '\0' };
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43432:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char boundsname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43433:15:  [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(boundsname, axisname, axisnameLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43435:15:  [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(boundsname + axisnameLen + 1, bndsName, sizeof(bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43513: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43520: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 uuidOfHGridStr[37];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43553: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 xdimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43563: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 ydimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43576: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 vdimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43604: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 xaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43621:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xaxisname + xaxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43633: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 yaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43650:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yaxisname + yaxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44113: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 psname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44116:25:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if ( psname[0] == 0 ) strcpy(psname, "ps");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44118: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 p0name[CDI_MAX_NAME]; p0name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44126:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      if ( p0name[0] == 0 ) strcpy(p0name, "p0");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44134: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 zname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44135: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 zlongname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44136: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 zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44141:28:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if ( zlongname[0] == 0 ) strcpy(zlongname, "hybrid sigma pressure coordinate");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44171: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 txt[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44213:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(axisname + axisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44278: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44284: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 uuidOfVGridStr[37];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44305: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 strlen[8] = "strlen\0";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44315: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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44321:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if ( dimname[0] == 0 ) { memcpy(dimname, "area_type", 10); dimname[10] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44412: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44420: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 dimname[CDI_MAX_NAME+3]; dimname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44480:23:  [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(axisname + axisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44530: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44539: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 gmapvarname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44591: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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44594:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if ( dimname[0] == 0 ) { memcpy(dimname, "region", 7); dimname[6] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44600:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(dimname, "strlen");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44610: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44685: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 axisname[16] = "rgridX";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44687:24:  [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.
        else           sprintf(&axisname[5], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44712: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 axisname[32] = "reduced_pointsX";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44714:24:  [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.
        else           sprintf(&axisname[5], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44768: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 dimname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44769: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(dimname, "gsize");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44968: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 tmpstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44980: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(tmpstr, taxis_name, taxisnameLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44982: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(tmpstr + taxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45010: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.
          static const char *const unitstrfmt[3]
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45123: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 unitstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45686:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(gridptr->reducedPoints, reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45911: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46065: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46259: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46384: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 paramstr_[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46481: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 hoper[2];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:46559: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:47015: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:48591: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[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49005: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 string[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49102: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.
              unsigned char revNumber[revNumLen];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49269:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49383:3:  [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(compVar.name, name, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49401:3:  [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(compVar0.name, record.varname, sizeof(compVar.name));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49429: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 typeOfPacking[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49489: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 paramstr[32]; \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49545: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49596: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49696: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49767: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49849: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50168: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50712:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50727:16:  [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 truncAttNames[numTruncAtt][2] = { "J", "K", "M" };
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50733:20:  [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 truncAttNames2[numTruncAtt][3] = { "JS", "KS", "MS" };
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50914: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51131: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.
            unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51360:3:  [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((void*)dataCopy,(void*) data, gridsize*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51374:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy((void*)&data[idxOUT], (void*)&dataCopy[idxIN], iDim*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51427:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy((void*)&data[idxOUT], (void*)&dataCopy[idxIN], iDim*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51584: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[256], stdname[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51665:20:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
          unsigned char revNumber[revNumLen];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51757: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.
          char cdi_name[CDI_MAX_NAME]; cdi_name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51759: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.
          char grb_name[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:52157: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(vct, zaxisInqVctPtr(zaxisID), (size_t)vctsize/2*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:52158: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(vct+50, zaxisInqVctPtr(zaxisID)+vctsize/2, (size_t)vctsize/2*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:52167: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:52618: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:53224: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(destTstep->records, sourceTstep->records, (size_t)maxrecords*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54452: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(buffer, gribbuffer, igribsize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54557:3:  [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, me->args.data, me->args.gridsize*(me->args.memtype == MEMTYPE_FLOAT ? sizeof(float) : sizeof(double)));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54949: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 timeVarName[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54964: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 atttxt[CDI_MAX_NAME+10];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54974: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55073: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55194: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.
void cdfAppendCoordinates(int fileID, int ncvarID, char coordinates[CDI_MAX_NAME])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55206:62:  [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 xid, int yid, size_t gridsize, char axis[5], size_t iax)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55217: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 gmapvarname[CDI_MAX_NAME]; gmapvarname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55233: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55242: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55251: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 coordinates[CDI_MAX_NAME]; coordinates[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55294: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.
          char cellarea[CDI_MAX_NAME] = "area: ";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55335:177:  [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 cdfDefineDimsAndChunks(const stream_t *streamptr, int varID, int xid, int yid, int zid, size_t gridsize, const int dimorder[3], int dims[4], bool lchunk, size_t chunks[4], char axis[5], size_t *piax)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55421: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55441:34:  [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 cdfCheckVarname(int fileID, char name[CDI_MAX_NAME])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55446: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55453: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.
          if ( iz ) sprintf(varname2, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55471:32:  [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 cdfGenVarname(int fileID, char name[CDI_MAX_NAME], int pnum, int pcat, int *pdis, int *pcode)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55473: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55480: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(varname, "var%d", code);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55482: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(varname, "param%d.%d.%d", pnum, pcat, *pdis);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55490: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.
      if ( iz ) sprintf(varname2, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55544: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 axis[5];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55549: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55553: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55556: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55559: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55590: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55701:15:  [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(mdata_sp, pdata_sp, nvals*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55731:15:  [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(mdata_dp, pdata_dp, nvals*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55764:19:  [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(mdata_sp, pdata_sp, nvals*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55786:19:  [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(mdata_dp, pdata_dp, nvals*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:56517:3:  [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(temp[0], data, inHeight*inWidth*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:56551:3:  [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(temp[0], data, inHeight*inWidth*sizeof(float));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:56707: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59704: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(name, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59738: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(longname, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59753:8:  [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(units, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59782:15:  [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(name, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59794:15:  [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(name, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59813:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(longname, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59829: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(units, pline, (size_t)len);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59839: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 line[1024], *pline;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59841: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[256], longname[256], units[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59845:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *tablefp = fopen(tablefile, "r");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59870:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      id = atoi(pline);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59879:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          ltype = atoi(pline);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59898:27:  [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.
      if ( name[0] == 0 ) sprintf(name, "var%d", id);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59909: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 tablename[256] = {'\0'};
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59925:3:  [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(tablename, name2Use, tablenameLen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59928:19:  [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.
      += (size_t)(sprintf(tablename+tablenameLen, "_%03d", tablenum));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59961: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 tablefile[256] = {'\0'};
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60137:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *ptfp = fopen(ptfile, "w");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60226: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 tablename[256];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60512:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) TAXIS_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62519: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.
  static char uuid_rand_state[31 * sizeof (long)];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62603: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.
  static char uuid_rand_state[31 * sizeof (long)];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62688: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.
static unsigned char uuidVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63079: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63393: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63394: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.
          char longname[CDI_MAX_NAME]; longname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63395: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.
          char units[CDI_MAX_NAME]; units[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63453: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(Vct, vctptr, vctsize*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63458:59:  [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 varDefZAxisReference(int nhlev, int nvgrid, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63462:3:  [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(uuidVGrid, uuid, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63497:19:  [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 zlongname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63504:19:  [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 zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63962:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) VLIST_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63973:3:  [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(vlistptr2, vlistptr1, sizeof(vlist_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64161: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(vars2, vars1, n*sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64177:15:  [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(vars2[varID].levinfo, vars1[varID].levinfo, n*sizeof(levinfo_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64371: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(&vars2[varID2], &vars1[varID], sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64453:27:  [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(cvals2[levID2], cvals1[levID], clen2*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64492:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char ctemp[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64508:21:  [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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64511:46:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    if ( dimname[0] == 0 ) { memcpy(dimname, "area_type", 10); dimname[10] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64578:3:  [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(vars2+nvars2, vars1, (size_t)nvars1 * sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64605:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(vars2[varID2].levinfo, vars1[varID].levinfo,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64644: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 name1[CDI_MAX_NAME], name2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64690:15:  [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(vars2[varID].levinfo+nlevs2, vars1[varID].levinfo,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64924: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.
          char name[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:64934: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:65942: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(keyp->v.s, bytes, length);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:65989:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(bytes, keyp->v.s, *length);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66207:3:  [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(attp->name, name, slen+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66227: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(attp->xvalue, xvalue, xsz);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66317: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(name, attp->name, attp->namesz+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66460: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(xp, attp->xvalue, xsz);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66748:20:  [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 *attName = (char *) Malloc((size_t)tempbuf[0] + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67172: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67222:18:  [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.
	  if (!name[0]) sprintf(name, "var%d", code);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67226: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(name, "param%d.%d.%d", pnum, pcat, pdis);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67251: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67274:11:  [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(result, "var%d", number);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67280: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(result, "param%d.%d.%d", number, category, discipline);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68433:16:  [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.
    varname = (char *)Malloc((size_t)tempbuf[VLISTVAR_PACK_INT_IDX_EXTRALEN] + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68880:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) ZAXIS_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68887:3:  [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(zaxisptr2, zaxisptr1, sizeof(zaxis_t));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69289:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(zaxisptr->cvals[ilev], cvals[ilev], clen*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69398:47:  [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 zaxisDefUUID(int zaxisID, const unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69421: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.
void zaxisInqUUID(int zaxisID, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69555:15:  [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((*clevels)[i], zaxisptr->cvals[i], clen*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69734:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (vct) memcpy(zaxisptr->vct, vct, (size_t)size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69742:3:  [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(vct, zaxisptr->vct, (size_t)zaxisptr->vctsize * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69773:16:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (lbounds) memcpy(zaxisptr->lbounds, lbounds, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69791:16:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (ubounds) memcpy(zaxisptr->ubounds, ubounds, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69809:3:  [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(zaxisptr->weights, weights, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69862: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(zaxisptrnew->vals, zaxisptr->vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69869: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(zaxisptrnew->lbounds, zaxisptr->lbounds, size * sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69876: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(zaxisptrnew->ubounds, zaxisptr->ubounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:69886:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(zaxisptrnew->vct, zaxisptr->vct, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72007: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.
#define  STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];        \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72014: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.
#define  STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];        \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72021:27:  [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.
#define STRING_cfE static char A0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];          \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72574:42:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
           ((B=_cf_malloc(D+1))[D]='\0', memcpy(B,A,D), kill_trailing(B,' '))
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72610:36:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define RRRRPSTR( A,B,D)    if (B) memcpy(A,B, _cfMIN(strlen(B),D)),           \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72717:2:  [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(AS->dsc$a_pointer,A0,_cfMIN(AS->dsc$w_length,(A0==NULL?0:strlen(A0))));\
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72724:2:  [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(_fcdtocp(AS),A0, _cfMIN(_fcdlen(AS),(A0==NULL?0:strlen(A0))) );        \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72729:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define STRING_cfK         memcpy(AS,A0, _cfMIN(D0,(A0==NULL?0:strlen(A0))) ); \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1641: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.
#define  STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];        \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1648: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.
#define  STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];        \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1655:27:  [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.
#define STRING_cfE static char A0[1+MAX_LEN_FORTRAN_FUNCTION_STRING];          \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2208:42:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
           ((B=_cf_malloc(D+1))[D]='\0', memcpy(B,A,D), kill_trailing(B,' '))
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2244:36:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define RRRRPSTR( A,B,D)    if (B) memcpy(A,B, _cfMIN(strlen(B),D)),           \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2351:2:  [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(AS->dsc$a_pointer,A0,_cfMIN(AS->dsc$w_length,(A0==NULL?0:strlen(A0))));\
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2358:2:  [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(_fcdtocp(AS),A0, _cfMIN(_fcdlen(AS),(A0==NULL?0:strlen(A0))) );        \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2363:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define STRING_cfK         memcpy(AS,A0, _cfMIN(D0,(A0==NULL?0:strlen(A0))) ); \
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:96:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:1222:43:  [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.
#define HOST_ENDIANNESS (((const unsigned char *)HOST_ENDIANNESS_temp)[0])
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:2341: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 hversion[9];
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:3082: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 yout[64];
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:3107: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(yout, "%4d", nextlat);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:3128:27:  [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.
      if ( nrepeat >= 1 ) sprintf(yout+4, "to %5d", nextlat);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:3795: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 buffer[4];
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4164:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( atoi(envString) == 1 ) CGRIBEX_Const = 0;
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4177:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	  unit = atoi(env_stream);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4187:8:  [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(filename, "%2.2d", unit);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4188:17:  [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).
	      grprsm = fopen(filename, "w");
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:4197:17:  [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).
	      grprsm = fopen(env_stream, "w");
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:5288: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 paramstr[16];
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:5289: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(paramstr, "%d.%d.%d", paramnum, paramcat, dis);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:5687: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(source, pbuf, sourceLen);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:5934:2:  [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(source, dest, destLen);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:6200:2:  [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, pbuf, tmpLen);
data/cdo-1.9.10~rc1/libcdi/src/cgribexlib.c:8148:3:  [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((char*) &isec1[40], &pds[45], 4);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:40: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      filename[MEM_MAXNAME];
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:41: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      functionname[MEM_MAXNAME];
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:184:56:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( envstr && isdigit((int) envstr[0]) ) MEM_Info = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:187:57:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( envstr && isdigit((int) envstr[0]) ) MEM_Debug = atoi(envstr);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:300: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(memTable[memID].filename, filename, len);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:305:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      (void) strcpy(memTable[memID].filename, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:313: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(memTable[memID].functionname, functionname, len);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:318:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      (void) strcpy(memTable[memID].functionname, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:366:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  (void) memcpy(memTable[memID].filename, filename, len);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:371:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  (void) strcpy(memTable[memID].filename, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:379:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  (void) memcpy(memTable[memID].functionname, functionname, len);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:384:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  (void) strcpy(memTable[memID].functionname, "unknown");
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:140: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.
  unsigned char buffer[40], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:240:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:257:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:321: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:331: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/file.c:603:35:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if (fact) envValue = fact * atol(envString);
data/cdo-1.9.10~rc1/libcdi/src/file.c:884: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 *) ptr)[0] = fileptr->bufferPtr[0];
data/cdo-1.9.10~rc1/libcdi/src/file.c:891: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(ptr, fileptr->bufferPtr, size);
data/cdo-1.9.10~rc1/libcdi/src/file.c:970:14:  [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(filename, "rb");
data/cdo-1.9.10~rc1/libcdi/src/file.c:972:14:  [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 | O_BINARY);
data/cdo-1.9.10~rc1/libcdi/src/file.c:974: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).
    case 'x': fp = fopen(filename, "rb"); break;
data/cdo-1.9.10~rc1/libcdi/src/file.c:977:14:  [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(filename, "wb");
data/cdo-1.9.10~rc1/libcdi/src/file.c:979:14:  [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_CREAT | O_TRUNC | O_WRONLY | O_BINARY | FileFlagWrite, 0666);
data/cdo-1.9.10~rc1/libcdi/src/file.c:981: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).
    case 'a': fp = fopen(filename, "ab"); break;
data/cdo-1.9.10~rc1/libcdi/src/grb_read.c:84: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(buffer, gribbuffer, igribsize);
data/cdo-1.9.10~rc1/libcdi/src/grb_read.c:189:3:  [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, me->args.data, me->args.gridsize*(me->args.memtype == MEMTYPE_FLOAT ? sizeof(float) : sizeof(double)));
data/cdo-1.9.10~rc1/libcdi/src/gribapi.c:16: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 gribapi_libvers[64] = "";
data/cdo-1.9.10~rc1/libcdi/src/gribapi.c:45: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(gribapi_libvers, "%d.%d.%d", major_version, minor_version, revision_version);
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:257: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(result, "%04d-%02d-%02dT%02d:%02d:%02d.000", me->tm_year + 1900, me->tm_mon + 1, me->tm_mday, me->tm_hour, me->tm_min, me->tm_sec);
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:372: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 stepType[256];
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:421:24:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                       strcpy(stepType, "instant2");  // was incorrectly set before into accum
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:500: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.
          char mesg[256];
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:709: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 typeOfPacking[256];
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:736: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.
  unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.h:45: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.
  const char sname[8];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:227:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) GRID_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:233:3:  [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(gridptrDup, gridptrOrig, sizeof(grid_t));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:888: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1264:3:  [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(gridptr->reducedPoints, reducedPoints, (size_t)reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1284:3:  [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(reducedPoints, gridptr->reducedPoints, (size_t)gridptr->reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1406:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xvals, gridptr_xvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1432:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xvals, gridptr_xvals+start, length * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1456:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(xcvals[i], gridptr_xcvals[i], maxclength*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1544:3:  [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(gridptr->x.vals, xvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1562:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ycvals[i], gridptr_ycvals[i], maxclength*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1615:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yvals, gridptr_yvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1639:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yvals, gridptr_yvals+start, length * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1717:3:  [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(gridptr->y.vals, yvals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1862: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1868: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2278: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.
              unsigned char uuid1[CDI_UUID_SIZE]; memset(uuid1, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2279: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.
              unsigned char uuid2[CDI_UUID_SIZE]; memset(uuid2, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2503: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.
  unsigned char uuid1[CDI_UUID_SIZE]; memset(uuid1, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2504: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.
  unsigned char uuid2[CDI_UUID_SIZE]; memset(uuid2, 0, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2726: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(gridptrDup->reducedPoints, gridptrOrig->reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2733: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(gridptrDup->x.vals, gridptrOrig->x.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2740: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(gridptrDup->y.vals, gridptrOrig->y.vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2749: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(gridptrDup->x.bounds, gridptrOrig->x.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2758: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(gridptrDup->y.bounds, gridptrOrig->y.bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2768:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(gridptrDup->area, gridptrOrig_area, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2776: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(gridptrDup->mask, gridptrOrig->mask, size * sizeof (mask_t));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2783: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(gridptrDup->mask_gme, gridptrOrig->mask_gme, size * sizeof(mask_t));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2897:3:  [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(gridptr->area, area, size * sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2912: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(area, gridptr->area, gridptr->size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2986:3:  [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(*field, bounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3030:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(xbounds, gridptr_xbounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3093: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(xbounds, gridptr_xbounds+start, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3104: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(ybounds, gridptr_ybounds+start, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3143:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ybounds, gridptr_ybounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3226: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3282: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 attstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3283: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 attstr2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3369:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char reference_link[8192];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3625: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3631: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3802: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3808: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 attname[CDI_MAX_NAME+1];
data/cdo-1.9.10~rc1/libcdi/src/grid.c:4024:45:  [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 gridDefUUID(int gridID, const unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/grid.c:4046:39:  [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 gridInqUUID(int gridID, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:135: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.
  unsigned char buffer[1048], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:203:3:  [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(diegp->ipdb, siegp->ipdb, sizeof(siegp->ipdb));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:204:3:  [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(diegp->igdb, siegp->igdb, sizeof(siegp->igdb));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:205:3:  [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(diegp->vct,  siegp->vct,  sizeof(siegp->vct));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:227:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:247:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:309: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:321: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/input_file.c:27:28:  [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).
      me->fileDescriptor = open(me->path, O_RDONLY);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:322:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *name = (char *) Malloc((size_t)tempbuf[3] + (size_t)tempbuf[4]);
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:706:97:  [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 cdiIterator_inqLevelUuid(CdiIterator* me, int* outVgridNumber, int* outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c:241: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(result,     "%04d-%02d-%02dT%02d:%02d:%02d.000", year, month, day, hour, minute, second);
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c:254: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.
          char tempBuffer[CDI_MAX_NAME]; \
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c:307:105:  [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 cdiFallbackIterator_zaxisUuid(CdiIterator *super, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.h:34:102:  [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 cdiFallbackIterator_zaxisUuid(CdiIterator *me, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c:104: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(result->gribBuffer, me->gribBuffer, me->curRecordSize);
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c:273: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[16];
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c:504:101:  [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 cdiGribIterator_zaxisUuid(CdiIterator *super, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.h:36:98:  [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 cdiGribIterator_zaxisUuid(CdiIterator *me, int *outVgridNumber, int *outLevelCount, unsigned char outUuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/model.c:123:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) MODEL_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/model.c:320:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      name = (char *) Malloc((size_t)tempbuf[3]);
data/cdo-1.9.10~rc1/libcdi/src/namespace.c:171: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(newNameSpaces, namespaces, sizeof (namespaces[0]));
data/cdo-1.9.10~rc1/libcdi/src/pio_conf.c:20: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.
  const char text[28];
data/cdo-1.9.10~rc1/libcdi/src/pio_dbuffer.c:161:3:  [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 ( dbuffer->buffer + wr_ptr, buffer, len );
data/cdo-1.9.10~rc1/libcdi/src/pio_impl.h:34:19:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  long temp = p ? atol(p) : -1;
data/cdo-1.9.10~rc1/libcdi/src/pio_interface.c:48: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.
const char * const funcMap[numRPCFuncs] = {
data/cdo-1.9.10~rc1/libcdi/src/pio_interface.c:77:3:  [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((unsigned char *)buf + *pos, p->obj, p->obj_size);
data/cdo-1.9.10~rc1/libcdi/src/pio_interface.c:359:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(dstBuf, data + (ssize_t)elemSize * (ssize_t)disps[j], bsize);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_all.c:51:3:  [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(of->name, filename, nameSize);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_all.c:59: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 buf_size_str[3*sizeof(size_t)*CHAR_BIT/8+1];
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_reblock.c:197:3:  [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(of->name, filename, nameSize);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_reblock.c:424:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(of->blockBuf
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_reblock.c:445:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(buf, inBuf, (size_t)txLen);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_ordered.c:52: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 buf_size_str[3*sizeof(size_t)*CHAR_BIT/8+1];
data/cdo-1.9.10~rc1/libcdi/src/pio_mpinonb.c:70: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 buf_size_str[3*sizeof(size_t)*CHAR_BIT/8+1];
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:64:23:  [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).
  if (( bfd->handle = open ( bfd->name, O_CREAT | O_WRONLY, 0666 )) == -1 )
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:284:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy((void *)bfd->ctrlBlks[bfd->currOpIndex].aio_buf,
data/cdo-1.9.10~rc1/libcdi/src/pio_posixfpguardsendrecv.c:93: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).
  if ( ( afd->fp = fopen ( afd->name, "w" )) == NULL )
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:46:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (( bfp->fp = fopen ( filename, "w" )) == NULL )
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:194:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(bfd->fb->buffer, pMB, amount);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:231: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 message[messageLength];
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:255: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 ( message,"%lX", buffersize);
data/cdo-1.9.10~rc1/libcdi/src/pio_rpc.h:38: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.
extern const char * const funcMap[numRPCFuncs];
data/cdo-1.9.10~rc1/libcdi/src/pio_server.c:182: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.
          = taxisUnpack((char *)rxWin[streamIdx].clientBuf[0].mem,
data/cdo-1.9.10~rc1/libcdi/src/pio_server.c:869:3:  [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((unsigned char *)aggBuf + aggBufUsed, ptr, size);
data/cdo-1.9.10~rc1/libcdi/src/pio_util.c:58: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 errorString[2][MPI_MAX_ERROR_STRING + 1];
data/cdo-1.9.10~rc1/libcdi/src/pio_util.c:77: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 errorString[MPI_MAX_ERROR_STRING + 1];
data/cdo-1.9.10~rc1/libcdi/src/serialize.c:86:3:  [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((unsigned char *)buf + pos, data, (size_t)size);
data/cdo-1.9.10~rc1/libcdi/src/serialize.c:97:3:  [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, (unsigned char *)buf + pos, (size_t)size);
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:142: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.
  unsigned char buffer[72], *pbuf;
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:245:8:  [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, buffer, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:262:8:  [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, buffer, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:328: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(buffer, data, datasize*sizeof(FLT32));
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:338: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(buffer, data, datasize*sizeof(FLT64));
data/cdo-1.9.10~rc1/libcdi/src/stream.c: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 buffer[8];
data/cdo-1.9.10~rc1/libcdi/src/stream.c:441: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[2] = { filemode, 0 };
data/cdo-1.9.10~rc1/libcdi/src/stream.c:1374: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).
  FILE *cnp = fopen(cname, "w");
data/cdo-1.9.10~rc1/libcdi/src/stream.c:1822: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 filename[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:34: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:109: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:110: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     longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:111: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     stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:112: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     units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:113: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     extra[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:350:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(attint, pintatt, attlen*sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:373:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(attdouble, pdoubleatt, attlen*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:410: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 attbuf[65636];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:418:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(atttext, attbuf, nc_attlen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:431:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(atttext, attbuf, ssize);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:524: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(destTstep->records, sourceTstep->records, (size_t)nrecs*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:553: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(destTstep->records, sourceTstep->records, (size_t)nrecs*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:557: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(destTstep->recIDs, streamptr->tsteps[1].recIDs, (size_t)nvrecs*sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:564: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 dimname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:588: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.
          char sbuf[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:743: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 attstring[1024];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:885: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:917: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:926: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 axis[7];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1082: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1083: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1084: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1088: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 *checked_vars[max_check_vars];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1150: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 + pos, prefix, sizeof (prefix));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1206:15:  [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(ncvars[ncvarid].longname, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1210:15:  [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(ncvars[ncvarid].stdname, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1214:15:  [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(ncvars[ncvarid].units, attstring, attstringsize);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1589: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1590: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 attstring[8192];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2452: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.
          char attstring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2662: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 attstring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3185: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 name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3192:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              vlistDefVarCode(vlistID, varID, atoi(name+3));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3199:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              vlistDefVarCode(vlistID, varID, atoi(name+4));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3223: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 name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3224: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 longname[CDI_MAX_NAME]; longname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3225: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 units[CDI_MAX_NAME]; units[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3442: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3443: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 attstring[65636];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3498:19:  [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(gridfile, attstring, attstrlen+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3514: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(gridfile, attstring, attstrlen+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3566: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 timeunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3862: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 gridfile[8912];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3863: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 fcreftime[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3866: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3867: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3914: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 gname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:4192: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 attstring[1024];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:4259: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 stvalue[128];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:195:22:  [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.
      else           sprintf(&axisname[3], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:213: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 axisname[5] = "nspX";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:221: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 axisname[5] = "nfcX";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:249: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:255: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:261: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:288: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:322: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:325:3:  [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(name, dimname, len + 1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:329: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.
      if ( iz ) sprintf(name + len, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:346: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.
  if ( iz ) sprintf(dimname + len, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:355: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 axisname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:361:3:  [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(axisname2, axisname, axisnameLen + 1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.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.
      if ( iz ) sprintf(axisname2 + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:373: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.
  if ( iz ) sprintf(axisname + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:379: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 axisname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:385:3:  [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(axisname2, axisname, axisnameLen + 1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:388: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.
      if ( iz ) sprintf(axisname2 + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:415: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.
  if ( iz ) sprintf(axisname + axisnameLen, "_%u", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:433: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 dimname[CDI_MAX_NAME+3]; dimname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:448: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.
          char dimname0[CDI_MAX_NAME]; dimname0[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:468: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:495:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char axisStr[2] = { axisLetter, '\0' };
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:523:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char boundsname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:524:15:  [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(boundsname, axisname, axisnameLen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:526:15:  [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(boundsname + axisnameLen + 1, bndsName, sizeof(bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:604: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:611: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 uuidOfHGridStr[37];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:644: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 xdimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:654: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 ydimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:667: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 vdimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:695: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 xaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:712:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(xaxisname + xaxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:724: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 yaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:741:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(yaxisname + yaxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1204: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 psname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1207:25:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if ( psname[0] == 0 ) strcpy(psname, "ps");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1209: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 p0name[CDI_MAX_NAME]; p0name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1217:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      if ( p0name[0] == 0 ) strcpy(p0name, "p0");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.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 zname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.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 zlongname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1227: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 zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1232:28:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if ( zlongname[0] == 0 ) strcpy(zlongname, "hybrid sigma pressure coordinate");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1262: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 txt[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1304:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(axisname + axisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1369: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1375: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 uuidOfVGridStr[37];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1396: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 strlen[8] = "strlen\0";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1406: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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1412:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if ( dimname[0] == 0 ) { memcpy(dimname, "area_type", 10); dimname[10] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1503: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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1511: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 dimname[CDI_MAX_NAME+3]; dimname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1571:23:  [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(axisname + axisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1621: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1630: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 gmapvarname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1682: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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1685:28:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if ( dimname[0] == 0 ) { memcpy(dimname, "region", 7); dimname[6] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1691:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(dimname, "strlen");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.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 axisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1776: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 axisname[16] = "rgridX";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1778:24:  [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.
        else           sprintf(&axisname[5], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1803: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 axisname[32] = "reduced_pointsX";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1805:24:  [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.
        else           sprintf(&axisname[5], "%1d", iz+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1859: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 dimname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1860: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(dimname, "gsize");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:30: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 tmpstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:42: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(tmpstr, taxis_name, taxisnameLen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:44: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(tmpstr + taxisnameLen + 1, bndsName, sizeof (bndsName));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:72: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.
          static const char *const unitstrfmt[3]
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:185: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 unitstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:505:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(gridptr->reducedPoints, reducedPoints, reducedPointsSize * sizeof(int));
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:730: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:884: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1078: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1203: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 paramstr_[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1300: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 hoper[2];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1378: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_cgribex.c:1834: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.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 name[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:451: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 string[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:548: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.
              unsigned char revNumber[revNumLen];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:715:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:829:3:  [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(compVar.name, name, len);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:847:3:  [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(compVar0.name, record.varname, sizeof(compVar.name));
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:875: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 typeOfPacking[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:935: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 paramstr[32]; \
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:991: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1042: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1142: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1213: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1295: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 varname[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1614: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2158:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2173:16:  [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 truncAttNames[numTruncAtt][2] = { "J", "K", "M" };
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2179:20:  [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 truncAttNames2[numTruncAtt][3] = { "JS", "KS", "MS" };
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2360: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2577: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.
            unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2806:3:  [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((void*)dataCopy,(void*) data, gridsize*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2820:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy((void*)&data[idxOUT], (void*)&dataCopy[idxIN], iDim*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2873:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy((void*)&data[idxOUT], (void*)&dataCopy[idxIN], iDim*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3030: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[256], stdname[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3111:20:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
          unsigned char revNumber[revNumLen];
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3203: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.
          char cdi_name[CDI_MAX_NAME]; cdi_name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3205: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.
          char grb_name[256];
data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.c:368: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(vct, zaxisInqVctPtr(zaxisID), (size_t)vctsize/2*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.c:369: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(vct+50, zaxisInqVctPtr(zaxisID)+vctsize/2, (size_t)vctsize/2*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.c:378: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/stream_ieg.c:829: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/stream_record.c:330: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(destTstep->records, sourceTstep->records, (size_t)maxrecords*sizeof(record_t));
data/cdo-1.9.10~rc1/libcdi/src/table.c:171: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(name, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:205: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(longname, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:220:8:  [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(units, pstart, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:249:15:  [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(name, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:261:15:  [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(name, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:280:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(longname, pline, len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:296: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(units, pline, (size_t)len);
data/cdo-1.9.10~rc1/libcdi/src/table.c:306: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 line[1024], *pline;
data/cdo-1.9.10~rc1/libcdi/src/table.c:308: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[256], longname[256], units[256];
data/cdo-1.9.10~rc1/libcdi/src/table.c:312:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *tablefp = fopen(tablefile, "r");
data/cdo-1.9.10~rc1/libcdi/src/table.c:337:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      id = atoi(pline);
data/cdo-1.9.10~rc1/libcdi/src/table.c:346:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          ltype = atoi(pline);
data/cdo-1.9.10~rc1/libcdi/src/table.c:365:27:  [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.
      if ( name[0] == 0 ) sprintf(name, "var%d", id);
data/cdo-1.9.10~rc1/libcdi/src/table.c:376: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 tablename[256] = {'\0'};
data/cdo-1.9.10~rc1/libcdi/src/table.c:392:3:  [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(tablename, name2Use, tablenameLen);
data/cdo-1.9.10~rc1/libcdi/src/table.c:395:19:  [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.
      += (size_t)(sprintf(tablename+tablenameLen, "_%03d", tablenum));
data/cdo-1.9.10~rc1/libcdi/src/table.c:428: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 tablefile[256] = {'\0'};
data/cdo-1.9.10~rc1/libcdi/src/table.c:604:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *ptfp = fopen(ptfile, "w");
data/cdo-1.9.10~rc1/libcdi/src/table.c:693: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 tablename[256];
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:165:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) TAXIS_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/util.c:116: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.
  static char uuid_rand_state[31 * sizeof (long)];
data/cdo-1.9.10~rc1/libcdi/src/util.c:200: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.
  static char uuid_rand_state[31 * sizeof (long)];
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:23: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.
static unsigned char uuidVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:414: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 paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:728: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.
          char name[CDI_MAX_NAME]; name[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:729: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.
          char longname[CDI_MAX_NAME]; longname[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:730: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.
          char units[CDI_MAX_NAME]; units[0] = 0;
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:788: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(Vct, vctptr, vctsize*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:793:59:  [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 varDefZAxisReference(int nhlev, int nvgrid, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:797:3:  [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(uuidVGrid, uuid, CDI_UUID_SIZE);
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:832:19:  [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 zlongname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:839:19:  [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 zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/varscan.h:15:58:  [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 varDefZAxisReference(int nlev, int nvgrid, unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:152:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) VLIST_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:163:3:  [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(vlistptr2, vlistptr1, sizeof(vlist_t));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:352: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(vars2, vars1, n*sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:368:15:  [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(vars2[varID].levinfo, vars1[varID].levinfo, n*sizeof(levinfo_t));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:562: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(&vars2[varID2], &vars1[varID], sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:644:27:  [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(cvals2[levID2], cvals1[levID], clen2*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:683:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char ctemp[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:699:21:  [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 dimname[CDI_MAX_NAME+3];
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:702:46:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    if ( dimname[0] == 0 ) { memcpy(dimname, "area_type", 10); dimname[10] = 0; }
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:769:3:  [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(vars2+nvars2, vars1, (size_t)nvars1 * sizeof(var_t));
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:796:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(vars2[varID2].levinfo, vars1[varID].levinfo,
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:835: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 name1[CDI_MAX_NAME], name2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:881:15:  [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(vars2[varID].levinfo+nlevs2, vars1[varID].levinfo,
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:1115: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.
          char name[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/vlist.c:1125: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.
          char paramstr[32];
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:387: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:437:18:  [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.
	  if (!name[0]) sprintf(name, "var%d", code);
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:441: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(name, "param%d.%d.%d", pnum, pcat, pdis);
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:466: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:489:11:  [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(result, "var%d", number);
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:495: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(result, "param%d.%d.%d", number, category, discipline);
data/cdo-1.9.10~rc1/libcdi/src/vlist_var_pack.c:114:16:  [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.
    varname = (char *)Malloc((size_t)tempbuf[VLISTVAR_PACK_INT_IDX_EXTRALEN] + 1);
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:164:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( env ) ZAXIS_Debug = atoi(env);
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:171:3:  [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(zaxisptr2, zaxisptr1, sizeof(zaxis_t));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:574:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(zaxisptr->cvals[ilev], cvals[ilev], clen*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:683:47:  [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 zaxisDefUUID(int zaxisID, const unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:706: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.
void zaxisInqUUID(int zaxisID, unsigned char uuid[CDI_UUID_SIZE])
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:840:15:  [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((*clevels)[i], zaxisptr->cvals[i], clen*sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1019:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (vct) memcpy(zaxisptr->vct, vct, (size_t)size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1027:3:  [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(vct, zaxisptr->vct, (size_t)zaxisptr->vctsize * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1058:16:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (lbounds) memcpy(zaxisptr->lbounds, lbounds, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1076:16:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (ubounds) memcpy(zaxisptr->ubounds, ubounds, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1094:3:  [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(zaxisptr->weights, weights, size*sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1147: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(zaxisptrnew->vals, zaxisptr->vals, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1154: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(zaxisptrnew->lbounds, zaxisptr->lbounds, size * sizeof(double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1161: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(zaxisptrnew->ubounds, zaxisptr->ubounds, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:1171:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(zaxisptrnew->vct, zaxisptr->vct, size * sizeof (double));
data/cdo-1.9.10~rc1/libcdi/tests/cksum_read.c:27:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!(tablefp = fopen(table_fname, "r")))
data/cdo-1.9.10~rc1/libcdi/tests/cksum_verify.c:34: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(init_block + block_size * i,
data/cdo-1.9.10~rc1/libcdi/tests/cksum_verify.c:36: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(init_block + block_size * i + i, init_block,
data/cdo-1.9.10~rc1/libcdi/tests/cksum_verify.c:42: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(test_data + i, init_block + block_idx * block_size,
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:99: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 suffix[4];
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:129: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.
  const char *varName[nvars] = { "varname1", "varname2" };
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:229: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.
    unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:236: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 zaxisUUIDTxt[2][37] = {
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:331:54:  [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.
        memcrc_r(&checksum_state[0], (const unsigned char *)var[0], varSize[0] * sizeof (var[0][0]));
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:333:54:  [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.
        memcrc_r(&checksum_state[1], (const unsigned char *)var[1], varSize[1] * sizeof (var[1][0]));
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:375:25:  [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).
        if (!(tablefp = fopen(fname, "w")))
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c: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 filename[1024];
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:154: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.
    unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:204:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:394:44:  [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 unsigned char *)var,
data/cdo-1.9.10~rc1/libcdi/tests/deco2d_model.c:417:29:  [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).
            if (!(tablefp = fopen(filename, "w")))
data/cdo-1.9.10~rc1/libcdi/tests/pio_write.c:44: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 suffix[4];
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:84: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 filename[1024];
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:121: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.
    unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:171:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:296:44:  [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 unsigned char *)var,
data/cdo-1.9.10~rc1/libcdi/tests/simple_model.c:317:29:  [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).
            if (!(tablefp = fopen(filename, "w")))
data/cdo-1.9.10~rc1/libcdi/tests/stream_cksum.c:168:65:  [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.
              memcrc_r(checksum_state + varIdx, (const unsigned char *)buf,
data/cdo-1.9.10~rc1/libcdi/tests/test_cdf_read.c:81: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 attName[CDI_MAX_NAME + 1];
data/cdo-1.9.10~rc1/libcdi/tests/test_resource_copy.c:81: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.
    unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/test_resource_copy.c:108: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.
    unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/libcdi/tests/test_resource_copy.c:212:3:  [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(recvBuffer, sendBuffer, (size_t)bufferSize);
data/cdo-1.9.10~rc1/src/Adisit.cc:148: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 varname[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Afterburner.cc: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 zaxistypename[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Afterburner.cc:289: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.
  if (globs->Nfiles > 0) ifile = (char *) ifiles[--globs->Nfiles];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1091: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1093: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1148: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 namelist[65536];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1534: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[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1656: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 line[1024];
data/cdo-1.9.10~rc1/src/Afterburner.cc:1659:13:  [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).
  auto fp = fopen(vctfile, "r");
data/cdo-1.9.10~rc1/src/CDIread.cc:50: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 sinfo[64];
data/cdo-1.9.10~rc1/src/CDIwrite.cc: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 sinfo[64] = { 0 };
data/cdo-1.9.10~rc1/src/CMOR.cc:51: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(varcodestring, "%03d", varcode);
data/cdo-1.9.10~rc1/src/CMOR.cc:57:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int code = atol(value);
data/cdo-1.9.10~rc1/src/CMOR.cc:60: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 newcode[4];
data/cdo-1.9.10~rc1/src/CMOR.cc:61: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(newcode, "%03d", code);
data/cdo-1.9.10~rc1/src/CMOR.cc:64: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.
          char codestring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:81: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 ifilevalue[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:104: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 cwd[1024];
data/cdo-1.9.10~rc1/src/CMOR.cc:346: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.
          char *values[1];
data/cdo-1.9.10~rc1/src/CMOR.cc:371:13:  [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).
  auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/CMOR.cc:446: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:462:19:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int codeproof = atol(map_code);
data/cdo-1.9.10~rc1/src/CMOR.cc:626: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 ids[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:627: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(ids, "%d", withnewcharaxis.inputKeys[0].varID);
data/cdo-1.9.10~rc1/src/CMOR.cc:678: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 ifilevalue[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:886:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *fp = fopen(tfilename, "r");
data/cdo-1.9.10~rc1/src/CMOR.cc:964: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(infile_attvalue, "%i", values[0]);
data/cdo-1.9.10~rc1/src/CMOR.cc:970: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 fltstr[128];
data/cdo-1.9.10~rc1/src/CMOR.cc:1149: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 errStr[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:1195: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(references, "No references available for ");
data/cdo-1.9.10~rc1/src/CMOR.cc:1272:39:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              indexvalues[indexint] = atol((const char *) indexstring);
data/cdo-1.9.10~rc1/src/CMOR.cc:1335: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 member[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:1336: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(member, "r%ldi%ldp%ldf%ld", indexvalues[0], indexvalues[1], indexvalues[2], indexvalues[3]);
data/cdo-1.9.10~rc1/src/CMOR.cc:1362:44:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                   indexvalues[indexint] = atol((const char *) indexstring);
data/cdo-1.9.10~rc1/src/CMOR.cc:1424: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.
           char member[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:1425:12:  [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(member, "r%ldi%ldp%ld", indexvalues[0], indexvalues[1], indexvalues[2]);
data/cdo-1.9.10~rc1/src/CMOR.cc:1451: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 cwd[1024];
data/cdo-1.9.10~rc1/src/CMOR.cc:1558:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_STANDARD: strcpy(calendar_ptr, "standard"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1559:30:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_GREGORIAN: strcpy(calendar_ptr, "gregorian"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1560:30:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_PROLEPTIC: strcpy(calendar_ptr, "proleptic_gregorian"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1561:28:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_360DAYS: strcpy(calendar_ptr, "360_day"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1562:28:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_365DAYS: strcpy(calendar_ptr, "noleap"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1563:28:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case CALENDAR_366DAYS: strcpy(calendar_ptr, "all_leap"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:1641: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 time_step[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:1662: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(cmor_time_name, "time2");
data/cdo-1.9.10~rc1/src/CMOR.cc:1666: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(cmor_time_name, "time");
data/cdo-1.9.10~rc1/src/CMOR.cc:1670: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(cmor_time_name, "time");
data/cdo-1.9.10~rc1/src/CMOR.cc:1674: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(cmor_time_name, "time1");
data/cdo-1.9.10~rc1/src/CMOR.cc:1678: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(cmor_time_name, "time1");
data/cdo-1.9.10~rc1/src/CMOR.cc:1682: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(cmor_time_name, "time3");
data/cdo-1.9.10~rc1/src/CMOR.cc:1693:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "time \0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1698:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "time1\0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1703:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "time2\0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1708:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "time3\0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1713:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "none\0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1731:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(cmor_time_name, "time \0");
data/cdo-1.9.10~rc1/src/CMOR.cc:1742: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 atttimeunit[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:1774:28:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          branchdates[i] = atol(branch_dates_p[i].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:1804:26:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        branch_time[0] = atol(btip);
data/cdo-1.9.10~rc1/src/CMOR.cc:1806:26:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        branch_time[1] = atol(btic);
data/cdo-1.9.10~rc1/src/CMOR.cc:1844: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(calendarptr, "standard");
data/cdo-1.9.10~rc1/src/CMOR.cc:1894: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 command[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:1904:11:  [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(cvname, "CMIP6_CV.json");
data/cdo-1.9.10~rc1/src/CMOR.cc:1939: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 freq[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:1941: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(freq, "6hr");
data/cdo-1.9.10~rc1/src/CMOR.cc: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(freq, "3hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:1945: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(freq, "1hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:1949: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 cordexDir[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:1950: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 cordexFileTem[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:2019: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.
  cmf = cmor_dataset(kv_get_a_val(kvl, (char *) datasetvals[0], "./"), kv_get_a_val(kvl, (char *) datasetvals[1], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2019:91:  [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.
  cmf = cmor_dataset(kv_get_a_val(kvl, (char *) datasetvals[0], "./"), kv_get_a_val(kvl, (char *) datasetvals[1], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2020:43:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[2], ""), kv_get_a_val(kvl, (char *) datasetvals[3], ""), calendarptr,
data/cdo-1.9.10~rc1/src/CMOR.cc:2020:91:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[2], ""), kv_get_a_val(kvl, (char *) datasetvals[3], ""), calendarptr,
data/cdo-1.9.10~rc1/src/CMOR.cc:2021:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                       atol(kv_get_a_val(kvl, (char *) datasetvals[4], "")), kv_get_a_val(kvl, (char *) datasetvals[5], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2021:48:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[4], "")), kv_get_a_val(kvl, (char *) datasetvals[5], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2021:97:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[4], "")), kv_get_a_val(kvl, (char *) datasetvals[5], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2022:42:  [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.
                       kv_get_a_val(kvl,(char *) datasetvals[6], ""), kv_get_a_val(kvl, (char *) datasetvals[7], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2022:90:  [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.
                       kv_get_a_val(kvl,(char *) datasetvals[6], ""), kv_get_a_val(kvl, (char *) datasetvals[7], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2023:42:  [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.
                       kv_get_a_val(kvl,(char *) datasetvals[8], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[9], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2023:71:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                       kv_get_a_val(kvl,(char *) datasetvals[8], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[9], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2023:95:  [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.
                       kv_get_a_val(kvl,(char *) datasetvals[8], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[9], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2024:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                       atol(kv_get_a_val(kvl, (char *) datasetvals[10], "")), nullptr, kv_get_a_val(kvl, (char *) datasetvals[11], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2024:48:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[10], "")), nullptr, kv_get_a_val(kvl, (char *) datasetvals[11], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2024:107:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[10], "")), nullptr, kv_get_a_val(kvl, (char *) datasetvals[11], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2025:43:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[12], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[13], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2025:73:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                       kv_get_a_val(kvl, (char *) datasetvals[12], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[13], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2025:97:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[12], ""), atol(kv_get_a_val(kvl, (char *) datasetvals[13], "")),
data/cdo-1.9.10~rc1/src/CMOR.cc:2026:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                       atol(kv_get_a_val(kvl, (char *) datasetvals[14], "")), kv_get_a_val(kvl, (char *) datasetvals[15], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2026:48:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[14], "")), kv_get_a_val(kvl, (char *) datasetvals[15], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2026:98:  [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.
                       atol(kv_get_a_val(kvl, (char *) datasetvals[14], "")), kv_get_a_val(kvl, (char *) datasetvals[15], ""),
data/cdo-1.9.10~rc1/src/CMOR.cc:2027:43:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[16], ""), &(branch_times[0]),
data/cdo-1.9.10~rc1/src/CMOR.cc:2028:43:  [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.
                       kv_get_a_val(kvl, (char *) datasetvals[17], ""));
data/cdo-1.9.10~rc1/src/CMOR.cc:2042:56:  [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.
        if (tmp) cmf = cmor_set_cur_dataset_attribute((char *) allneeded2[ind], tmp, 1);
data/cdo-1.9.10~rc1/src/CMOR.cc:2048: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 notincluded[2048];
data/cdo-1.9.10~rc1/src/CMOR.cc:2049: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(notincluded, "The following attributes are not included in the global attributes list.\n          Reasons can be: 1. Attribute is an internal keyword 2. No valaue is available 3. CMOR creates the attribute itself:\n          ");
data/cdo-1.9.10~rc1/src/CMOR.cc:2066:19:  [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(notincluded, ", ");
data/cdo-1.9.10~rc1/src/CMOR.cc:2085: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 cwd[1024];
data/cdo-1.9.10~rc1/src/CMOR.cc:2092: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).
    dataset_json = fopen(dataset_path, "w+");
data/cdo-1.9.10~rc1/src/CMOR.cc:2144: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 branch_time_in_parent[8];
data/cdo-1.9.10~rc1/src/CMOR.cc:2145: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 branch_time_in_child[8];
data/cdo-1.9.10~rc1/src/CMOR.cc:2396: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((char *) charcmor, "%.*s", (int) strlen(charvals[0].c_str()), charvals[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2402:43:  [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.
      sprintf((char *) charcmor, "%s%s", (char *) charcmor, charvals[i].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2557: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 zaxisunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:2570: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(chardim, "notSet");
data/cdo-1.9.10~rc1/src/CMOR.cc:2591:68:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          if (strcmp(zaxisunits, "") == 0 || zaxisunits[0] == ' ') strcpy(zaxisunits, "Pa");
data/cdo-1.9.10~rc1/src/CMOR.cc:2621:23:  [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(zaxisname, "plev%d", zsize);
data/cdo-1.9.10~rc1/src/CMOR.cc:2789: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(zaxisunits, "cm");
data/cdo-1.9.10~rc1/src/CMOR.cc:2796: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.
          char longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:2819:15:  [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(zaxisname, "alt%d", zsize);
data/cdo-1.9.10~rc1/src/CMOR.cc:2977: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.
          char zaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3061: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 unitstring[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3092: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 gridtable[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:3514: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_rll_cmor[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:3516:3:  [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(p_rll_cmor, "grid_north_pole_latitude\0 "
data/cdo-1.9.10~rc1/src/CMOR.cc:3520: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 u_rll_cmor[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:3522:3:  [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(u_rll_cmor, "degrees_north\0degrees_east\0 degrees_east\0 ", 3 * l_u_rll);
data/cdo-1.9.10~rc1/src/CMOR.cc:3524: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_lcc_cmor[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:3526:3:  [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(p_lcc_cmor, "standard_parallel1\0           "
data/cdo-1.9.10~rc1/src/CMOR.cc:3531: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 u_lcc_cmor[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:3533:3:  [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(u_lcc_cmor, "      \0      \0      \0      \0", 4 * l_u_lcc);
data/cdo-1.9.10~rc1/src/CMOR.cc:3542: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 mapping[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3547: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3668: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 xname[CDI_MAX_NAME], yname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3674: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 xdimname[CDI_MAX_NAME], ydimname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:3890:46:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          if (strcmp(xdimname, "line") == 0) strcpy(xdimname, "oline");
data/cdo-1.9.10~rc1/src/CMOR.cc:3983: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 missing_value[sizeof(double)];
data/cdo-1.9.10~rc1/src/CMOR.cc:4032:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ( ( deflate = atol((const char *)deflates) ) )
data/cdo-1.9.10~rc1/src/CMOR.cc:4134: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:4158: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.
          char cmor_time_name[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:4297:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(frequency, "no");
data/cdo-1.9.10~rc1/src/CMOR.cc:4304:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 11: strcpy(frequency, "yr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4305: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.
    case 2: strcpy(frequency, "yr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4306:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 12: strcpy(frequency, "mon"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4307: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.
    case 3: strcpy(frequency, "mon"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4308:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 13: strcpy(frequency, "day"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4309: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.
    case 4: strcpy(frequency, "day"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4310:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 14: strcpy(frequency, "6hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4311: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.
    case 5: strcpy(frequency, "6hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4312: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.
    case 6: strcpy(frequency, "6hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4313:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 15: strcpy(frequency, "3hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4314: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.
    case 7: strcpy(frequency, "1hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4315: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.
    case 8: strcpy(frequency, "3hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4316:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 16: strcpy(frequency, "1hr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4317:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 17: strcpy(frequency, "sem"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4318:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 18: strcpy(frequency, "dec"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4319:14:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case 19: strcpy(frequency, "subhr"); break;
data/cdo-1.9.10~rc1/src/CMOR.cc:4362:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(frequency, "yr");
data/cdo-1.9.10~rc1/src/CMOR.cc:4364:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(frequency, "mon");
data/cdo-1.9.10~rc1/src/CMOR.cc:4367:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(frequency, "day");
data/cdo-1.9.10~rc1/src/CMOR.cc:4370:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(frequency, "6hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:4373:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(frequency, "3hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:4398:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(frequency, "3hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:4400:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(frequency, "6hr");
data/cdo-1.9.10~rc1/src/CMOR.cc:4402:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(frequency, "day");
data/cdo-1.9.10~rc1/src/CMOR.cc:4404:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(frequency, "mon");
data/cdo-1.9.10~rc1/src/CMOR.cc:4451:25:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if ((timeoffset = atol(kv_get_a_val(kvl, "firsttimeval", "-99"))) < 0)
data/cdo-1.9.10~rc1/src/CMOR.cc:4639:30:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          int expstartyear = atol(climyears[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:4640:28:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          int expendyear = atol(climyears[1].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:4796:35:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
               int expstartyear = atol(decyears[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:4797:33:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
               int expendyear = atol(decyears[1].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:4874: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 old_start_date[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:4875: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 old_end_date[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:4938:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      old_start_year = atol(old_start_date);
data/cdo-1.9.10~rc1/src/CMOR.cc:4939:22:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      old_end_year = atol(old_end_date);
data/cdo-1.9.10~rc1/src/CMOR.cc:5038:19:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int maxsizegb = atol(kv_get_a_val(kvl, "ms", "2"));
data/cdo-1.9.10~rc1/src/CMOR.cc:5093:18:  [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).
      auto *fp = fopen(chunk_des_file, "r");
data/cdo-1.9.10~rc1/src/CMOR.cc:5138:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(chunk_file, " \0");
data/cdo-1.9.10~rc1/src/CMOR.cc:5155: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 trunk[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5241:55:  [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.
              && check_append_and_size(kvl, vlistID, (char *)chunk_att_files[j].c_str(), ifreq, calendar))
data/cdo-1.9.10~rc1/src/CMOR.cc:5324: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.
          char command[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:5516: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_name[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5532:19:  [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 prelim[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5566: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.
          char cordex_file_name[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5570:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char varname[CMOR_MAX_STRING], timename[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5619:19:  [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 smon1[12], smon2[12];
data/cdo-1.9.10~rc1/src/CMOR.cc:5624:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  if ( atol(smon1) != 1 )
data/cdo-1.9.10~rc1/src/CMOR.cc:5625: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(smon1, "%02ld", atol(smon1)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5625:45:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                    sprintf(smon1, "%02ld", atol(smon1)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5628: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.
                      char syr[12];
data/cdo-1.9.10~rc1/src/CMOR.cc:5631:23:  [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(syr, "%04ld", atol(syr)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5631:45:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      sprintf(syr, "%04ld", atol(syr)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5634:23:  [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(smon1, "12");
data/cdo-1.9.10~rc1/src/CMOR.cc:5636:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  if ( atol(smon2) != 1 )
data/cdo-1.9.10~rc1/src/CMOR.cc:5637: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(smon2, "%02ld", atol(smon2)+1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5637:45:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                    sprintf(smon2, "%02ld", atol(smon2)+1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5640: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.
                      char syr[12];
data/cdo-1.9.10~rc1/src/CMOR.cc:5643:23:  [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(syr, "%04ld", atol(syr)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5643:45:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      sprintf(syr, "%04ld", atol(syr)-1);
data/cdo-1.9.10~rc1/src/CMOR.cc:5646:23:  [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(smon2, "12");
data/cdo-1.9.10~rc1/src/CMOR.cc:5652:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char command[CMOR_MAX_STRING];
data/cdo-1.9.10~rc1/src/CMOR.cc:5686:19:  [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 newname[CDI_MAX_NAME], oldmember[CDI_MAX_NAME],
data/cdo-1.9.10~rc1/src/CMOR.cc:5688:19:  [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(oldmember, "r%ldi", atol(realization));
data/cdo-1.9.10~rc1/src/CMOR.cc:5688:47:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  sprintf(oldmember, "r%ldi", atol(realization));
data/cdo-1.9.10~rc1/src/CMOR.cc:5727:19:  [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 command[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR.cc:5752:26:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
              FILE *fp = fopen(chunkdf[i], "w+");
data/cdo-1.9.10~rc1/src/CMOR.cc:5976:56:  [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.
      replace_key(kvl, keystosubs[i], check_short_key((char *)keystosubs[i].key.c_str()));
data/cdo-1.9.10~rc1/src/CMOR.cc:5999: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 miptabdir[1024];
data/cdo-1.9.10~rc1/src/CMOR.cc:6000: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 cwd[1024];
data/cdo-1.9.10~rc1/src/CMOR.cc:6136: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 tester[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:38: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 units_old[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:77: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:171: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:354:13:  [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).
  auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/CMOR_table.cc:137:13:  [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).
  auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/Change.cc:86: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 varname[CDI_MAX_NAME], varname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Change.cc:196: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Change.cc:285: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Change_e5slm.cc:32: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Cloudlayer.cc: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Command.cc:44: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Command.cc:45: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Command.cc:46: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Command.cc:377: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Command.cc:450: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 memstring[32] = { "" };
data/cdo-1.9.10~rc1/src/Deltime.cc:60:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      dday = atoi(sarg);
data/cdo-1.9.10~rc1/src/Deltime.cc:65: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.
          char smon[32];
data/cdo-1.9.10~rc1/src/Derivepar.cc:48: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Derivepar.cc:49: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 varname[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Diff.cc:158: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Distgrid.cc:339: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 filename[8192];
data/cdo-1.9.10~rc1/src/Distgrid.cc:344: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Distgrid.cc:349: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(filename + nchars, "%05ld", (long) index);
data/cdo-1.9.10~rc1/src/EcaIndices.cc:370: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 cfd_longname2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:371: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 cfd_name2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:422: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 csu_longname2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:423: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 csu_name2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:473: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 longname[sizeof(CWDI_LONGNAME) + 80];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:525: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 longname[sizeof(CWFI_LONGNAME) + 40];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:653: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 longname[sizeof(GSL_LONGNAME) + 160];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:739: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 longname[sizeof(HWDI_LONGNAME) + 80];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:791: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 longname[sizeof(HWFI_LONGNAME) + 40];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:895: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 longname[sizeof(SU_LONGNAME) + 40];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1043: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 tr_longname[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1164: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 cdd_longname[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1165: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 cdd_longname2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1166: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 cdd_name2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1237: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 cwd_longname[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1238: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 cwd_longname2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1239: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 cwd_name2[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1281: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 lnamebuffer[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1613: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 lnamebuffer[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1706: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 longname[sizeof(RX5DAY_LONGNAME2) + 40];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1744: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 lnamebuffer[1024];
data/cdo-1.9.10~rc1/src/EcaIndices.cc:1837: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 longname[sizeof(STRWIN_LONGNAME) + 40];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:64: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 *aintname[1024];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:66: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 *afltname[1024];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:68: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 *atxtname[1024];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:69: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 *atxtentry[1024];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:132: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 filetype[256];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:309: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 atttext[1024];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:313: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 timestr[30];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:390:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "IEEE");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:477:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "Gaussian latitude");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:480:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "degrees_N");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:488:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "longitude");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:491:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "degrees_E");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:510:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "vertical-coordinate parameter set A");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:521:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(atttext, "vertical-coordinate parameter set B");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:731: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 filetype[256];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:738: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:750: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:752: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 attstring[8192];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1579: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 name[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1608:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(longname, "specific humidity");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1609:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(units, "kg/kg");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1613:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(name, "SVO");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1614:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(longname, "vorticity");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1615:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(units, "1/s");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1619:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(name, "SD");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1620:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(longname, "divergence");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1621:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(units, "1/s");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1625:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(name, "STP");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1626:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(longname, "temperature");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1631:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(name, "LSP");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1632:23:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                      strcpy(longname, "log surface pressure");
data/cdo-1.9.10~rc1/src/Ensstat.cc:239: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.
          char name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Ensstat.cc:241:11:  [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(name, "_count");
data/cdo-1.9.10~rc1/src/Ensval.cc:79: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_suffix[10];
data/cdo-1.9.10~rc1/src/Ensval.cc:177: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Ensval.cc:191: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.
            case 0: sprintf(type_suffix, "crps"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:192: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.
            case 1: sprintf(type_suffix, "crps_reli"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:193: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.
            case 2: sprintf(type_suffix, "crps_pot"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:199: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.
            case 0: sprintf(type_suffix, "brs"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:200: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.
            case 1: sprintf(type_suffix, "brs_reli"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:201: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.
            case 2: sprintf(type_suffix, "brs_reso"); break;
data/cdo-1.9.10~rc1/src/Ensval.cc:202: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.
            case 3: sprintf(type_suffix, "brs_unct"); break;
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:36: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 eof_name[16], oname[1024];
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:77: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:136: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(eof_name, "%5.5i", eofID);
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:36: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 eof_name[16], oname[1024];
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:75: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:142: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(eof_name, "%5.5i", eofID);
data/cdo-1.9.10~rc1/src/Exprf.cc:108:13:  [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).
  auto fp = fopen(exprf, "r");
data/cdo-1.9.10~rc1/src/Exprf.cc:133: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[1024] = { 0 };
data/cdo-1.9.10~rc1/src/Exprf.cc:151: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(insert_point, tmp, p - tmp);
data/cdo-1.9.10~rc1/src/Exprf.cc:155: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(insert_point, replacement, repl_len);
data/cdo-1.9.10~rc1/src/Exprf.cc:182: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Exprf.cc:216: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 longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Exprf.cc:298: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 longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Exprf.cc:518:33:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              const auto code = atoi(params[pidx].name + 3);
data/cdo-1.9.10~rc1/src/FC.cc:325:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char gridname[20];
data/cdo-1.9.10~rc1/src/Filedes.cc:44: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Filedes.cc:64: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.
          char fltstr[128];
data/cdo-1.9.10~rc1/src/Filedes.cc:150: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 varname[CDI_MAX_NAME], varlongname[CDI_MAX_NAME], varunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Filedes.cc:177: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Filedes.cc:178: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 varname[CDI_MAX_NAME], varlongname[CDI_MAX_NAME], varstdname[CDI_MAX_NAME], varunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:232: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.
  unsigned char urec[4];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:234: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.
  unsigned char mrec[512];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:249:16:  [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).
  auto mapfp = fopen(cdoGetStreamName(0), "r");
data/cdo-1.9.10~rc1/src/Gradsdes.cc:680: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 varname[CDI_MAX_NAME], varlongname[CDI_MAX_NAME], varunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:783:16:  [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).
  auto mapfp = fopen(ctlfile, "w");
data/cdo-1.9.10~rc1/src/Gradsdes.cc:818:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char ibmfloat[4];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:930: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Gradsdes.cc:938: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 Time[30], Incr[12] = { "1mn" };
data/cdo-1.9.10~rc1/src/Gradsdes.cc:1098:14:  [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).
  auto gdp = fopen(ctlfile, "w");
data/cdo-1.9.10~rc1/src/Harmonic.cc:70: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Harmonic.cc:75: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 filename[8192];
data/cdo-1.9.10~rc1/src/Harmonic.cc:81: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(filename + nchars, "%1d", j + 1);
data/cdo-1.9.10~rc1/src/Importamsr.cc:157:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int date = pname ? atoi(pname + 1) : 0;
data/cdo-1.9.10~rc1/src/Importamsr.cc:175:13:  [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).
  auto fp = fopen(cdoGetStreamName(0), "r");
data/cdo-1.9.10~rc1/src/Importbinary.cc:402: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).
      pfi.infile = fopen(ch, "rb");
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:84: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 pname[64];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:259: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.
scan_pcs_def(char *pcs_def, char proj[128], double *a, double *lon0, double *lat0)
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:259: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.
scan_pcs_def(char *pcs_def, char proj[128], double *a, double *lon0, double *lat0)
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:261: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 *pcs[64];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:267:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(proj, "unknown");
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:325: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[64] = { 0 };
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:326: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 ellipsoid[64] = { 0 };
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:438:46:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(proj.ellipsoid, "WSG-84") == 0) strcpy(proj.ellipsoid, "WGS-84");
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:488: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(proj.ellipsoid, "WGS-84");
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:489: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(proj.name, "sinusoidal");
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:547: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 id[128];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:548: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[128];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:549: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 pcs_id[128];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:550: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 pcs_def[128];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:553: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 proj[128];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:673: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:686: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 attstring[4096]; /* Buffer to read string attribute back */
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:687: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:797:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        nz = atoi(&varname[len - 1]);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1189: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1195: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 attstring[4096]; /* Buffer to read string attribute back */
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1244: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1245: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 attstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1259:23:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              vdate = atoi(attstr);
data/cdo-1.9.10~rc1/src/Importfv3grid.cc:43: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Importobs.cc:74:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int date = pname ? atoi(pname + 1) : 0;
data/cdo-1.9.10~rc1/src/Importobs.cc: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 line[MAX_LINE_LEN];
data/cdo-1.9.10~rc1/src/Importobs.cc:88: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 dummy[32], station[32], datetime[32];
data/cdo-1.9.10~rc1/src/Importobs.cc:117:13:  [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).
  auto fp = fopen(cdoGetStreamName(0), "r");
data/cdo-1.9.10~rc1/src/Info.cc:299: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Info.cc:484: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.
                      char varextra[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Intgridtraj.cc:67:13:  [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).
  auto fp = fopen(posfile, "r");
data/cdo-1.9.10~rc1/src/Intlevel.cc:296: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 str[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Intlevel.cc:297:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(str, "zlev");
data/cdo-1.9.10~rc1/src/Intlevel.cc:317: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 str[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Intlevel.cc:425:22:  [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).
          auto zfp = fopen(zfilename, "r");
data/cdo-1.9.10~rc1/src/Intlevel3d.cc:253: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Intyear.cc:68: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 filename[8192];
data/cdo-1.9.10~rc1/src/Intyear.cc:73: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Intyear.cc:78: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(filename + nchars, "%04d", iyears[iy]);
data/cdo-1.9.10~rc1/src/Lic.cc:169:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *fp = fopen(filename, "wb");
data/cdo-1.9.10~rc1/src/Lic.cc:416: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 filename[8192];
data/cdo-1.9.10~rc1/src/Lic.cc:450:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int nstart = (operatorArgc() == 2) ? atoi(cdoOperatorArgv(1).c_str()) : 0;
data/cdo-1.9.10~rc1/src/Lic.cc:451:17:  [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).
  auto cpt_fp = fopen(cpt_file, "r");
data/cdo-1.9.10~rc1/src/Maggraph.cc:155: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 min_date_time_str[1024], max_date_time_str[1024];
data/cdo-1.9.10~rc1/src/Maggraph.cc:157: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 legend_text_data[256];
data/cdo-1.9.10~rc1/src/Maggraph.cc:401:36:  [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.
          date_time_str[fileID] = (char **) malloc(nts[fileID] * sizeof(char *));
data/cdo-1.9.10~rc1/src/Maggraph.cc:585: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(legend_text_data, "data_%d", count + 1);
data/cdo-1.9.10~rc1/src/Maggraph.cc:589:55:  [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.
        mag_set1c("graph_curve_date_x_values", (const char **) date_time_str[0], ntime_steps);
data/cdo-1.9.10~rc1/src/Maggraph.cc:591:55:  [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.
        mag_set1c("graph_curve_date_x_values", (const char **) date_time_str[i], nts[i]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:607:53:  [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.
      mag_set1c("graph_curve_date_x_values", (const char **) date_time_str[0], nts[0]);
data/cdo-1.9.10~rc1/src/Maggraph.cc:629:53:  [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.
      mag_set1c("graph_curve_date_x_values", (const char **) date_time_str[0], ntime_steps);
data/cdo-1.9.10~rc1/src/Maggraph.cc:637: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(legend_text_data, "Mean");
data/cdo-1.9.10~rc1/src/Maggraph.cc:646:54:  [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.
      mag_set1c("graph_curve2_date_x_values", (const char **) date_time_str[0], ntime_steps);
data/cdo-1.9.10~rc1/src/Maggraph.cc:648:53:  [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.
      mag_set1c("graph_curve_date_x_values", (const char **) date_time_str[0], ntime_steps);
data/cdo-1.9.10~rc1/src/Maggraph.cc:651: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(legend_text_data, "%dSigma", num_sigma);
data/cdo-1.9.10~rc1/src/Maggraph.cc:662: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 *lines[1];
data/cdo-1.9.10~rc1/src/Maggraph.cc:826: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 varname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Magplot.cc:190: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 plotfilename[4096];
data/cdo-1.9.10~rc1/src/Magplot.cc:195: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 tempname[256];
data/cdo-1.9.10~rc1/src/Magplot.cc:724:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                          if (cdo_cmpstr(split_str[0], "count")) COUNT = atoi(split_str[1]);
data/cdo-1.9.10~rc1/src/Magplot.cc:726:82:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                          if (cdo_cmpstr(split_str[0], "thickness")) THICKNESS = atoi(split_str[1]);
data/cdo-1.9.10~rc1/src/Magplot.cc:727:84:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                          if (cdo_cmpstr(split_str[0], "resolution")) RESOLUTION = atoi(split_str[1]);
data/cdo-1.9.10~rc1/src/Magplot.cc:728:82:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                          if (cdo_cmpstr(split_str[0], "step_freq")) STEP_FREQ = atoi(split_str[1]);
data/cdo-1.9.10~rc1/src/Magplot.cc:738:33:  [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).
                      if ((fp = fopen(split_str[1], "r")) == nullptr)
data/cdo-1.9.10~rc1/src/Magplot.cc:805: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[256];
data/cdo-1.9.10~rc1/src/Magplot.cc:887:13:  [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).
  auto fp = fopen(filepath, "r");
data/cdo-1.9.10~rc1/src/Magplot.cc:1039: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Magplot.cc:1040: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Magplot.cc:1041: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 datetimestr[64];
data/cdo-1.9.10~rc1/src/Magvector.cc:59: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 plotfilename[4096];
data/cdo-1.9.10~rc1/src/Magvector.cc:118:23:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          STEP_FREQ = atoi(split_str[1]);
data/cdo-1.9.10~rc1/src/Magvector.cc:308: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Magvector.cc:309: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 datetimestr[64];
data/cdo-1.9.10~rc1/src/Maskbox.cc:41: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 line[MAX_LINE];
data/cdo-1.9.10~rc1/src/Maskbox.cc:313: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).
          auto fp = fopen(polyfile, "r");
data/cdo-1.9.10~rc1/src/Mastrfu.cc:44: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Mastrfu.cc:110: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Merge.cc:35: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 vname1[CDI_MAX_NAME], vname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Merge.cc:81:19:  [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 paramstr[32];
data/cdo-1.9.10~rc1/src/Mergetime.cc:52:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/NCL_wind.cc:92: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/NCL_wind.cc:114: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 name_u[CDI_MAX_NAME], name_v[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Nmldump.cc:34: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 fltstr[128];
data/cdo-1.9.10~rc1/src/Output.cc:97:13:  [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).
  auto fp = fopen(fname, "w");
data/cdo-1.9.10~rc1/src/Output.cc:170: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Output.cc:246:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                        Keylen[k] = atoi(&currentName[len + 1]);
data/cdo-1.9.10~rc1/src/Outputgmt.cc:280: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Outputgmt.cc:316: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).
      auto cpt_fp = fopen(cpt_file, "r");
data/cdo-1.9.10~rc1/src/Pressure.cc:48: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Pressure.cc:49: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Remap.cc:151: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 line[256], tmpstr[256];
data/cdo-1.9.10~rc1/src/Remap.cc:155:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if      (operfunc == REMAPBIL   || operfunc == GENBIL)   strcpy(line, "Bilinear");
data/cdo-1.9.10~rc1/src/Remap.cc:156:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPBIC   || operfunc == GENBIC)   strcpy(line, "Bicubic");
data/cdo-1.9.10~rc1/src/Remap.cc:157:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPNN    || operfunc == GENNN)    strcpy(line, "Nearest neighbor");
data/cdo-1.9.10~rc1/src/Remap.cc:158:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPDIS   || operfunc == GENDIS)   strcpy(line, "Distance-weighted average");
data/cdo-1.9.10~rc1/src/Remap.cc:159:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPSCON  || operfunc == GENSCON)  strcpy(line, "SCRIP first order conservative");
data/cdo-1.9.10~rc1/src/Remap.cc:160:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPCON2  || operfunc == GENCON2)  strcpy(line, "SCRIP second order conservative");
data/cdo-1.9.10~rc1/src/Remap.cc:161:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPLAF   || operfunc == GENLAF)   strcpy(line, "YAC largest area fraction");
data/cdo-1.9.10~rc1/src/Remap.cc:162:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPCON   || operfunc == GENCON)   strcpy(line, "YAC first order conservative");
data/cdo-1.9.10~rc1/src/Remap.cc:163:60:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPYCON2 || operfunc == GENYCON2) strcpy(line, "YAC second order conservative");
data/cdo-1.9.10~rc1/src/Remap.cc:164:36:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else if (operfunc == REMAPAVG)   strcpy(line, "Average");
data/cdo-1.9.10~rc1/src/Remap.cc:165:8:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  else strcpy(line, "Unknown");
data/cdo-1.9.10~rc1/src/Remap.cc:176:3:  [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(line, " to ");
data/cdo-1.9.10~rc1/src/Remap.cc:183:3:  [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(line, " grid");
data/cdo-1.9.10~rc1/src/Remap.cc:197: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 line[256], tmpstr[256];
data/cdo-1.9.10~rc1/src/Remap.cc:202:3:  [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(line, "Remap weights from ");
data/cdo-1.9.10~rc1/src/Remap.cc:204:3:  [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(line, " not used, ");
data/cdo-1.9.10~rc1/src/Remap.cc:211:3:  [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(line, " grid");
data/cdo-1.9.10~rc1/src/Remap.cc:219:3:  [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(line, " not found!");
data/cdo-1.9.10~rc1/src/Remap.cc:244:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/Remap.cc:255:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/Remap.cc:266:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/Remap.cc:336:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/Remap.cc:348:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const auto ival = atoi(envstr);
data/cdo-1.9.10~rc1/src/Remap.cc:456:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Remapeta.cc: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 line[1024], *pline;
data/cdo-1.9.10~rc1/src/Remapeta.cc:101:13:  [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).
  auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/Remapeta.cc:219: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 varname[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Rhopot.cc:165: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 varname[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Rotuv.cc:73: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.
  const char *chvars[MAXARG];
data/cdo-1.9.10~rc1/src/Rotuv.cc:74: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Rotuv.cc:75: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 varname2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Samplegridicon.cc:75: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Seasstat.cc:69: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.
  const char *seas_name[4];
data/cdo-1.9.10~rc1/src/Selbox.cc:306: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 xunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Select.cc:49: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 cstr[32];
data/cdo-1.9.10~rc1/src/Select.cc:105:15:  [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(value.data(), "%d", i + 1);
data/cdo-1.9.10~rc1/src/Select.cc:141: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Select.cc:142: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 gname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Select.cc:143: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 zname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Selmulti.cc:749: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 line[MAX_LINE_LEN], *pline;
data/cdo-1.9.10~rc1/src/Selmulti.cc:757: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 strToParse[MAX_LINE_LEN];
data/cdo-1.9.10~rc1/src/Selmulti.cc:761: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 first3chars[4];
data/cdo-1.9.10~rc1/src/Selmulti.cc:781:13:  [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).
      gfp = fopen(filenameOrString, "r");
data/cdo-1.9.10~rc1/src/Selmulti.cc:839:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                        val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:864:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                        val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:898:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                        val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1009:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1036:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1073:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1120:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1134:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1148:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1161:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                      val = atoi(pline);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1199: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 strval[1000];
data/cdo-1.9.10~rc1/src/Selmulti.cc:1201: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 bff[200];
data/cdo-1.9.10~rc1/src/Selmulti.cc:1208:11:  [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(bff, "%d", tuplerec->codeLST[ri]);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1217:11:  [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(bff, "%d", tuplerec->levelTypeLST[ri]);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1226:11:  [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(bff, "%d", tuplerec->levelLST[ri]);
data/cdo-1.9.10~rc1/src/Selmulti.cc:1236:11:  [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(bff, " {scale = %f; offset = %f}", tuplerec->scale, tuplerec->offset);
data/cdo-1.9.10~rc1/src/Selvar.cc:52: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Selvar.cc:53: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Selvar.cc: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Selvar.cc:55: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 gridname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Selvar.cc: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 zaxistypename[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Selvar.cc:57: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 zaxisname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setattribute.cc:42: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setattribute.cc:43: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setattribute.cc:226: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).
          auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/Setgatt.cc:74: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 line[1024];
data/cdo-1.9.10~rc1/src/Setgatt.cc:77:17:  [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).
      auto fp = fopen(attfile, "r");
data/cdo-1.9.10~rc1/src/Setgrid.cc:243: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sethalo.cc:49: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 xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sethalo.cc:174: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 xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setpartab.cc:51: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 valstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setpartab.cc:52: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setpartab.cc:53: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Setpartab.cc:204:39:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      FILE *fp = fileExists(partab) ? fopen(partab, "r") : nullptr;
data/cdo-1.9.10~rc1/src/Setpartab.cc:215:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          if (atoi(parbuf.data()) == 0) tableformat = 1;
data/cdo-1.9.10~rc1/src/Setpartab.cc:248: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 name[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setpartab.cc:277:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        auto fp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/Setrcaname.cc:32: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 line[MAX_LINE_LEN];
data/cdo-1.9.10~rc1/src/Setrcaname.cc:33: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 sname[CDI_MAX_NAME], sdescription[CDI_MAX_NAME], sunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Setrcaname.cc:54:13:  [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).
  auto fp = fopen(rcsnames, "r");
data/cdo-1.9.10~rc1/src/Showattribute.cc:30: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 stdname[CDI_MAX_NAME], longname[CDI_MAX_NAME], units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showattribute.cc:70: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 attname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showattribute.cc:112: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.
          char fltstr[128];
data/cdo-1.9.10~rc1/src/Showattribute.cc:139: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 filevarname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showattribute.cc:178:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showattribute.cc:197: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 buffer[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showinfo.cc:184: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 varunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showinfo.cc:195: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Showinfo.cc:207: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showinfo.cc:217: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showinfo.cc:254: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Showinfo.cc:269:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sinfo.cc:80: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 tmpname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sinfo.cc:81: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Sinfo.cc:132:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(tmpname, "unknown");
data/cdo-1.9.10~rc1/src/Sinfo.cc:139:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(tmpname, "unknown");
data/cdo-1.9.10~rc1/src/Sinfo.cc:212:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char varextra[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sort.cc:46: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 param[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Sort.cc:47: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Specinfo.cc:239: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[128], *parg;
data/cdo-1.9.10~rc1/src/Specinfo.cc:266:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      ntr2 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:282:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      ntr3 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:298:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      ntr1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:314:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      ni1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:349:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nlon1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:390:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nlat1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:428:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nlat1 = 2 * atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:466:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nlat1 = 2 * atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:505:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nrooti1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Specinfo.cc:511:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      nlevel1 = atoi(parg);
data/cdo-1.9.10~rc1/src/Spectral.cc:143:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char gridname[20];
data/cdo-1.9.10~rc1/src/Split.cc: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 filename[8192];
data/cdo-1.9.10~rc1/src/Split.cc:106: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Split.cc:153:15:  [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(filename + nchars, "%05d", codes[index]);
data/cdo-1.9.10~rc1/src/Split.cc:158:15:  [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(filename + nchars, "%04d", codes[index]);
data/cdo-1.9.10~rc1/src/Split.cc:163:15:  [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(filename + nchars, "%03d", codes[index]);
data/cdo-1.9.10~rc1/src/Split.cc:172: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Split.cc:263:11:  [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(filename + nchars, "%03d", tabnums[index]);
data/cdo-1.9.10~rc1/src/Split.cc:340:11:  [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(filename + nchars, "%06g", levels[index]);
data/cdo-1.9.10~rc1/src/Split.cc:376:11:  [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(filename + nchars, "%02d", vlistGridIndex(vlistID1, gridIDs[index]) + 1);
data/cdo-1.9.10~rc1/src/Split.cc:410:11:  [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(filename + nchars, "%02d", vlistZaxisIndex(vlistID1, zaxisIDs[index]) + 1);
data/cdo-1.9.10~rc1/src/Splitrec.cc:49: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 filename[8192];
data/cdo-1.9.10~rc1/src/Splitrec.cc: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Splitrec.cc:80:11:  [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(filename + nchars, "%06d", index);
data/cdo-1.9.10~rc1/src/Splitsel.cc:79: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 filename[8192];
data/cdo-1.9.10~rc1/src/Splitsel.cc:84: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Splitsel.cc:150: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(filename + nchars, "%06d", index);
data/cdo-1.9.10~rc1/src/Splittime.cc:94: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.
  const char *seas_name[4];
data/cdo-1.9.10~rc1/src/Splittime.cc:109: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 filename[8192];
data/cdo-1.9.10~rc1/src/Splittime.cc:114: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Splittime.cc:186:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char oformat[32];
data/cdo-1.9.10~rc1/src/Splittime.cc:187:15:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
              strcpy(oformat, "%02d");
data/cdo-1.9.10~rc1/src/Splittime.cc:191:19:  [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 sbuf[32];
data/cdo-1.9.10~rc1/src/Splityear.cc:72: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 filename[8192];
data/cdo-1.9.10~rc1/src/Splityear.cc:77: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 filesuffix[32] = { 0 };
data/cdo-1.9.10~rc1/src/Splityear.cc:150:15:  [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(filename + nchars, "%04d", year1);
data/cdo-1.9.10~rc1/src/Splityear.cc:151:27:  [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.
              if (ic > 0) sprintf(filename + strlen(filename), "_%d", ic + 1);
data/cdo-1.9.10~rc1/src/Splityear.cc:173:15:  [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(filename + nchars, "%04d", index1);
data/cdo-1.9.10~rc1/src/Test.cc:92:13:  [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).
  auto fp = fopen("testdata", "w");
data/cdo-1.9.10~rc1/src/Test.cc:112:15:  [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(&ival[i], &fval[i], 4);
data/cdo-1.9.10~rc1/src/Test.cc:113:15:  [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(&cval[i * 4], &fval[i], 4);
data/cdo-1.9.10~rc1/src/Timcount.cc:36: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/Timpctl.cc:42: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/Timstat.cc:176: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/Timstat.cc:244: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 filename[8192];
data/cdo-1.9.10~rc1/src/Varsstat.cc:51: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[CDI_MAX_NAME], zname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Verifygrid.cc:731: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintap.cc:43: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 units[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintap.cc:110: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintap.cc:133:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          if (atoi(envstr) == 1) extrapolate = true;
data/cdo-1.9.10~rc1/src/Vertintgh.cc:43: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 units[CDI_MAX_NAME], stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintgh.cc:59: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 stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintgh.cc:76:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          if (atoi(envstr) == 1) extrapolate = true;
data/cdo-1.9.10~rc1/src/Vertintgh.cc:93:18:  [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).
      auto zfp = fopen(zfilename, "r");
data/cdo-1.9.10~rc1/src/Vertintml.cc: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 paramstr[32];
data/cdo-1.9.10~rc1/src/Vertintml.cc:142:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          if (atoi(envstr) == 1) extrapolate = true;
data/cdo-1.9.10~rc1/src/Vertintml.cc:334: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.
          char varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertintml.cc:338: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.
          char stdname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Vertwind.cc:44: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Wind.cc:91: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/Wind.cc:247:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char gridname[20];
data/cdo-1.9.10~rc1/src/WindTrans.cc:70:21:  [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.
        if (strcmp((char *) (varname), (char *) (chvars)[0]) == 0) VarIsU = 1; \
data/cdo-1.9.10~rc1/src/WindTrans.cc:70: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.
        if (strcmp((char *) (varname), (char *) (chvars)[0]) == 0) VarIsU = 1; \
data/cdo-1.9.10~rc1/src/WindTrans.cc:80:21:  [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.
        if (strcmp((char *) (varname), (char *) (chvars)[1]) == 0) VarIsV = 1; \
data/cdo-1.9.10~rc1/src/WindTrans.cc:80: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.
        if (strcmp((char *) (varname), (char *) (chvars)[1]) == 0) VarIsV = 1; \
data/cdo-1.9.10~rc1/src/WindTrans.cc:219: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.
  const char *chvars[MAXARG];
data/cdo-1.9.10~rc1/src/WindTrans.cc:221: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/WindTrans.cc:1152: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.
  const char *chvars[MAXARG];
data/cdo-1.9.10~rc1/src/WindTrans.cc:1153: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/XTimstat.cc:219: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/XTimstat.cc:286: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 filename[8192];
data/cdo-1.9.10~rc1/src/Ymonarith.cc:53:50:  [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.
alreadyAllocated(bool isSeasonal, int mon, const char *seas_names[4])
data/cdo-1.9.10~rc1/src/Ymonarith.cc:63:42:  [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.
notFound(bool isSeasonal, int mon, const char *seas_names[4])
data/cdo-1.9.10~rc1/src/Ymonarith.cc:97: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.
  const char *seas_names[4];
data/cdo-1.9.10~rc1/src/after_namelist.cc:42:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    value = atoi(cp);
data/cdo-1.9.10~rc1/src/after_namelist.cc:61:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    value = atoi(cp);
data/cdo-1.9.10~rc1/src/after_sptrans.cc:230:3:  [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(pnm, ztemp1, waves * sizeof(double));
data/cdo-1.9.10~rc1/src/after_sptrans.cc:232:3:  [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(pnm, ztemp2, waves * sizeof(double));
data/cdo-1.9.10~rc1/src/after_sptrans.cc:273: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(ztemp1, ztemp2, twowaves * sizeof(double));
data/cdo-1.9.10~rc1/src/after_sptrans.cc:274: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(ztemp2, pnm, twowaves * sizeof(double));
data/cdo-1.9.10~rc1/src/afterburnerlib.cc:36: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.
  static char name[256];
data/cdo-1.9.10~rc1/src/afterburnerlib.cc:187: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 line[1024];
data/cdo-1.9.10~rc1/src/afterburnerlib.cc:190:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *fp = fopen(vctfile, "r");
data/cdo-1.9.10~rc1/src/cdi_uuid.h:23: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.
  void cdiCreateUUID(unsigned char uuid[CDI_UUID_SIZE]);
data/cdo-1.9.10~rc1/src/cdo.cc:405: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.
    unsigned char c[sizeof(long)];
data/cdo-1.9.10~rc1/src/cdo.cc:427:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      int nbits = atoi(datatypestr);
data/cdo-1.9.10~rc1/src/cdo.cc:649:80:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      Options::cdoCompLevel = (len == 5 && arg[3] == '_' && isdigit(arg[4])) ? atoi(&arg[4]) : 1;
data/cdo-1.9.10~rc1/src/cdo.cc:758:11:  [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(cdo::File_Suffix, "nullptr");
data/cdo-1.9.10~rc1/src/cdo.cc:954:33:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if (fact) intval = fact * atol(intstring);
data/cdo-1.9.10~rc1/src/cdo.cc:1259:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                int res = std::atoi(token);
data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.cc:32: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.
  static char str[20];
data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.cc:61:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      int ilen = atoi(datatypestr + 1);
data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.cc:64:88:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      else if (strncmp(datatypestr, "P", 1) == 0 && ilen > 0 && ilen <= 32) datatype = atoi(datatypestr + 1);
data/cdo-1.9.10~rc1/src/cdo_cmor.h:46: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 units_old[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/cdo_cmor.h:47: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 units[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/cdo_cmor.h:49: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[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/cdo_history.cc:28: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 strtime[32];
data/cdo-1.9.10~rc1/src/cdo_history.cc:29: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 datetimestr[32];
data/cdo-1.9.10~rc1/src/cdo_history.cc:105: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.
get_uuid(char uuidstr[UUIDSTR_SIZE])
data/cdo-1.9.10~rc1/src/cdo_history.cc:107: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.
  unsigned char uuid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/src/cdo_history.cc:115: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 uuidstr[UUIDSTR_SIZE];
data/cdo-1.9.10~rc1/src/cdo_options.cc:29: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 File_Suffix[32];
data/cdo-1.9.10~rc1/src/cdo_options.h:26: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 File_Suffix[32];
data/cdo-1.9.10~rc1/src/cdo_output.cc:189: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 usr_rpl[USR_RPL_MAX_LNG];
data/cdo-1.9.10~rc1/src/cdo_season.cc:8: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.
const char *seas_name_dec[4] = { "DJF", "MAM", "JJA", "SON" };
data/cdo-1.9.10~rc1/src/cdo_season.cc:9: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.
const char *seas_name_jan[4] = { "JFM", "AMJ", "JAS", "OND" };
data/cdo-1.9.10~rc1/src/cdo_varlist.h:29: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[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/cdo_vlist.cc:189: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 name1[CDI_MAX_NAME], name2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_vlist.cc:294:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_vlist.cc:668: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 psname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_vlist.cc:674: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 name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:46: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[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:47: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 longname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:48: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:83: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(optname, pname, namelen);
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:389:14:  [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).
  auto zfp = fopen(zaxisfile, "r");
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:415: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 zaxisfile[4096];
data/cdo-1.9.10~rc1/src/cdotest.cc:218:3:  [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(cdo_command, " -b 64 ");
data/cdo-1.9.10~rc1/src/cfortran.h:1891: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.
  static char AA0[1 + MAX_LEN_FORTRAN_FUNCTION_STRING];                                       \
data/cdo-1.9.10~rc1/src/cfortran.h:1898: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.
  static char AA0[1 + MAX_LEN_FORTRAN_FUNCTION_STRING];            \
data/cdo-1.9.10~rc1/src/cfortran.h:1907: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.
  static char A0[1 + MAX_LEN_FORTRAN_FUNCTION_STRING];            \
data/cdo-1.9.10~rc1/src/cfortran.h:2482:60:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define TTSTR(A, B, D) ((B = _cf_malloc(D + 1))[D] = '\0', memcpy(B, A, D), kill_trailing(B, ' '))
data/cdo-1.9.10~rc1/src/cfortran.h:2518:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  if (B) memcpy(A, B, _cfMIN(strlen(B), D)), (D > strlen(B) ? memset(A + strlen(B), ' ', D - strlen(B)) : 0), _cf_free(B);
data/cdo-1.9.10~rc1/src/cfortran.h:2626:3:  [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(AS->dsc$a_pointer, A0, _cfMIN(AS->dsc$w_length, (A0 == NULL ? 0 : strlen(A0))));                                \
data/cdo-1.9.10~rc1/src/cfortran.h:2633:3:  [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(_fcdtocp(AS), A0, _cfMIN(_fcdlen(AS), (A0 == NULL ? 0 : strlen(A0))));                                \
data/cdo-1.9.10~rc1/src/cfortran.h:2639:3:  [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(AS, A0, _cfMIN(D0, (A0 == NULL ? 0 : strlen(A0)))); \
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:111: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 line[4096], name[256];
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:233: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[4096];
data/cdo-1.9.10~rc1/src/color.cc:203: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 T0[64], T1[64], T2[64], T3[64], T4[64], T5[64], T6[64], T7[64], T8[64], T9[64];
data/cdo-1.9.10~rc1/src/color.cc:204: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 line[BUFSIZ], option[260], c;
data/cdo-1.9.10~rc1/src/color.cc:419: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 code[3] = { 'B', 'F', 'N' };
data/cdo-1.9.10~rc1/src/color.cc:443: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 lut_name[4096];
data/cdo-1.9.10~rc1/src/color.cc:444: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 cpt_name[4096];
data/cdo-1.9.10~rc1/src/color.cc:449:3:  [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(lut_name, "_lut");
data/cdo-1.9.10~rc1/src/color.cc:451:3:  [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(cpt_name, "_cpt");
data/cdo-1.9.10~rc1/src/commandline.cc:52: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(&CDO_CommandLine[offset], pargv, len);
data/cdo-1.9.10~rc1/src/convert_units.cc:169:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[64];
data/cdo-1.9.10~rc1/src/counter.h: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 mark[32] = { 0 };
data/cdo-1.9.10~rc1/src/ecacore.cc:45: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/ecacore.cc:368: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/ecacore.cc:731: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/ecacore.cc:924: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 indate1[DATE_LEN + 1], indate2[DATE_LEN + 1];
data/cdo-1.9.10~rc1/src/expr.cc:1243:42:  [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.
  if      (cdo_cmpstr(funcname, "clon")) strcat(cname, ".x");
data/cdo-1.9.10~rc1/src/expr.cc:1244:42:  [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.
  else if (cdo_cmpstr(funcname, "clat")) strcat(cname, ".y");
data/cdo-1.9.10~rc1/src/expr.cc:1245:42:  [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.
  else if (cdo_cmpstr(funcname, "clev")) strcat(cname, ".z");
data/cdo-1.9.10~rc1/src/expr.cc:1246:46:  [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.
  else if (cdo_cmpstr(funcname, "gridarea")) strcat(cname, ".a");
data/cdo-1.9.10~rc1/src/expr.cc:1247:48:  [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.
  else if (cdo_cmpstr(funcname, "gridweight")) strcat(cname, ".w");
data/cdo-1.9.10~rc1/src/expr.cc:1437: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 strbuffer[1024];
data/cdo-1.9.10~rc1/src/expr_yacc.cc:800: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 const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
data/cdo-1.9.10~rc1/src/expr_yacc.cc:980: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 yymsgbuf[128];
data/cdo-1.9.10~rc1/src/getRSS.c:53:13:  [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).
	if ( (fd = open( "/proc/self/psinfo", O_RDONLY )) == -1 )
data/cdo-1.9.10~rc1/src/getRSS.c:108:13:  [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).
	if ( (fp = fopen( "/proc/self/statm", "r" )) == NULL )
data/cdo-1.9.10~rc1/src/grid_area.cc:302: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 unitstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/grid_area.cc:320: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(unitstr, "radian");
data/cdo-1.9.10~rc1/src/grid_area.cc:345: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(unitstr, "radian");
data/cdo-1.9.10~rc1/src/grid_from_name.cc:82:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(grid.xname, "clon");
data/cdo-1.9.10~rc1/src/grid_from_name.cc:83:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(grid.yname, "clat");
data/cdo-1.9.10~rc1/src/grid_from_name.cc:84:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(grid.xunits, "radian");
data/cdo-1.9.10~rc1/src/grid_from_name.cc:85:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(grid.yunits, "radian");
data/cdo-1.9.10~rc1/src/grid_from_name.cc:331:20:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      grid.xsize = atol(pline);
data/cdo-1.9.10~rc1/src/grid_from_name.cc:340:20:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      grid.ysize = atol(pline);
data/cdo-1.9.10~rc1/src/grid_from_name.cc:404:22:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          grid.ntr = atol(pline);
data/cdo-1.9.10~rc1/src/grid_from_name.cc:545:24:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          grid.xsize = atol(pline);
data/cdo-1.9.10~rc1/src/grid_from_name.cc:550:28:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              grid.ysize = atol(pline);
data/cdo-1.9.10~rc1/src/grid_gme.cc:1363:16:  [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).
    if ((out = fopen("mask.dat", "w")) == nullptr)
data/cdo-1.9.10~rc1/src/grid_gme.cc:1397:16:  [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).
    if ((out = fopen("dual.dat", "w")) == nullptr)
data/cdo-1.9.10~rc1/src/grid_print.cc:105: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 attname[CDI_MAX_NAME + 1];
data/cdo-1.9.10~rc1/src/grid_print.cc:108: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 fltstr[128];
data/cdo-1.9.10~rc1/src/grid_print.cc:165: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 attstr[CDI_MAX_NAME], attstr2[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/grid_print.cc:314:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char reference_link[8192];
data/cdo-1.9.10~rc1/src/grid_print.cc:476: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.
  unsigned char uuid[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/grid_print.cc:481: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 uuidStr[37];
data/cdo-1.9.10~rc1/src/grid_read.cc:32: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 line[MAX_LINE_LEN];
data/cdo-1.9.10~rc1/src/grid_read.cc:58: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 uuidStr[256];
data/cdo-1.9.10~rc1/src/griddes.cc:54: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(optname, pname, namelen);
data/cdo-1.9.10~rc1/src/griddes.cc:294: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 varname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/griddes.cc:420:17:  [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).
  auto fileno = open(filename, O_RDONLY);
data/cdo-1.9.10~rc1/src/griddes.cc:443: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 buffer[4];
data/cdo-1.9.10~rc1/src/griddes.cc:491:22:  [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).
          auto gfp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/griddes.cc:499:22:  [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).
          auto gfp = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/griddes.cc:522: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 gridfile[4096];
data/cdo-1.9.10~rc1/src/griddes.h:65: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.
  unsigned char uuid[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:66: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[16384] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:67: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 xname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:68: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 xlongname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:69: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 xunits[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:70: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 xdimname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:71: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 yname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:72: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 ylongname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:73: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 yunits[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:74: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 ydimname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes.h:75: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 vdimname[CDI_MAX_NAME] = { 0 };
data/cdo-1.9.10~rc1/src/griddes_nc.cc:222: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/gridreference.cc:79:17:  [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).
      auto fp = fopen(basename, "w");
data/cdo-1.9.10~rc1/src/gridreference.cc:228:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char uuidOfHGrid1[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/gridreference.cc:229:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char uuidOfHGrid2[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/gridreference.cc:255: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 griduri[8192] = { 0 };
data/cdo-1.9.10~rc1/src/gridreference.cc:279: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 griddir[8192] = { 0 };
data/cdo-1.9.10~rc1/src/gridreference.cc:280: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 gridfilepath[8192] = { 0 };
data/cdo-1.9.10~rc1/src/hetaeta.cc:493:11:  [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).
  fpold = fopen("old.dat", "w");
data/cdo-1.9.10~rc1/src/hetaeta.cc:494:11:  [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).
  fpnew = fopen("new.dat", "w");
data/cdo-1.9.10~rc1/src/institution.cc:27: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 line[1024];
data/cdo-1.9.10~rc1/src/institution.cc:30: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[1024], longname[1024];
data/cdo-1.9.10~rc1/src/institution.cc:33:17:  [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).
  auto instfp = fopen(instfile, "r");
data/cdo-1.9.10~rc1/src/institution.cc:48:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      if (nvar == 1 && maxvar == 4) center = atoi(pline);
data/cdo-1.9.10~rc1/src/institution.cc:54:23:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          subcenter = atoi(pline);
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:88:3:  [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(d->min, min, dim*sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:89:3:  [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(d->max, max, dim*sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:147:3:  [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(node->location, points[pivot].point, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:148:3:  [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(node->min, min, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:149:3:  [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(node->max, max, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:174:3:  [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(node->location, points[pivot].point, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:175:3:  [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(node->min, min, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:176:3:  [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(node->max, max, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:246:3:  [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(tmpMaxLeft, max, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/kdtree_common.cc:261:3:  [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(tmpMinRight, min, dim * sizeof(kdata_t));
data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc:115:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(mya->b + i, mya->a + ri, sizeof(struct kd_point));
data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc:122:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(mya->b + i, mya->a + li, sizeof(struct kd_point));
data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc:129:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(mya->b + i, mya->a + li, sizeof(struct kd_point));
data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc:132:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(mya->b + i, mya->a + ri, sizeof(struct kd_point));
data/cdo-1.9.10~rc1/src/kdtreelib/pmergesort.cc:139:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(mya->a + mya->first, mya->b + mya->first, mya->nmemb*sizeof(struct kd_point));
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:9: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 pout[1024];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:438: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 *mons[12] = { "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" };
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:452: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 monam[5];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:467:15:  [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(pout, "  Hour = %i -- greater than 23\n", val);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:481:23:  [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(pout, "  Minute = %i -- greater than 59\n", val);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:586: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(pout, "  Day = %i -- greater than %i \n", dtim->dy, i);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:607: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 id[3];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:864: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 *pos, *ch, envv[20], *envr, CR = 13;
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1194:15:  [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(out, "%i", dtimi->yr / 10);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1200:15:  [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(out, "%03i", dtimi->yr / 10);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1208:15:  [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(out, "%02i", iv);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1214:15:  [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(out, "%04i", dtimi->yr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1220:15:  [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(out, "%i", dtimi->mo);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1226:15:  [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(out, "%02i", dtimi->mo);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1258:15:  [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(out, "%i", dtimi->dy);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1264:15:  [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(out, "%02i", dtimi->dy);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1270:15:  [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(out, "%i", dtimi->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1276:15:  [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(out, "%02i", dtimi->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1282:15:  [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(out, "%03i", dtimi->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1288:15:  [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(out, "%02i", dtimi->mn);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1303:11:  [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(out, "%i", dtim->yr / 10);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1310:11:  [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(out, "%03i", dtim->yr / 10);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1319:11:  [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(out, "%02i", iv);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1326:11:  [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(out, "%04i", dtim->yr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1333:11:  [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(out, "%i", dtim->mo);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1340:11:  [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(out, "%02i", dtim->mo);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1376:11:  [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(out, "%i", dtim->dy);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1383:11:  [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(out, "%02i", dtim->dy);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1390:11:  [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(out, "%i", dtim->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1397:11:  [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(out, "%02i", dtim->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1404:11:  [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(out, "%03i", dtim->hr);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1411:11:  [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(out, "%02i", dtim->mn);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1422: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(out, "%02i", tdif);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1424: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(out, "%i", tdif);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1434: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(out, "%03i", tdif);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1436: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(out, "%i", tdif);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1560: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.
    unsigned char c[sizeof(long)];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1569: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 rec[MAX_RECLEN], mrec[MAX_RECLEN];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1586:11:  [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).
  descr = fopen(filename, "r");
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2029:19:  [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(pout, "Was expecting %i records.  Found %i.\n", pfi->vnum, i);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2068:19:  [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(pout, "Was expecting %i records.  Found %i.\n", pfi->vnum, i);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2533:15:  [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(pout, "Open Error: couldn't determine data file name for e=%d t=%d\n", e, ens->gt);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2585:19:  [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(pout, "Open Error: couldn't determine data file name for e=%d t=%d\n", e, t);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:36: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 varnm[128];      /* Variable description.                */
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h: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 abbrv[16];       /* Variable abbreviation.               */
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:38: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 longnm[257];     /* netcdf/hdf var name if different     */
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:80: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[16];    /* name of ensemble */
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:91: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[MAX_NAMELEN];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:92: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 dnam[MAX_NAMELEN];
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.h:93: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 title[MAX_NAMELEN];
data/cdo-1.9.10~rc1/src/lib/yac/bnd_circle.c:404: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(*local_ids + offset, cells,
data/cdo-1.9.10~rc1/src/lib/yac/clipping.c:712:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char error_string[1024];
data/cdo-1.9.10~rc1/src/lib/yac/clipping.c:713:15:  [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(error_string, "ERROR: two intersections found, even "
data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c:120: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(new_dependencies, list->dependencies,
data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c:123: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(new_dependencies + copy_size, dependencies,
data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c:128: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(new_dependencies + offset, list->dependencies + copy_size,
data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c:298: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(num_deps_per_element, list->num_deps_per_element,
data/cdo-1.9.10~rc1/src/lib/yac/dep_list.c:300: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(dependencies, list->dependencies, 
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:76: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(out_cell->coordinates_x, in_cell.coordinates_x,
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:78: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(out_cell->coordinates_y, in_cell.coordinates_y,
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:80: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(out_cell->coordinates_xyz, in_cell.coordinates_xyz,
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:82: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(out_cell->edge_type, in_cell.edge_type,
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:234: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(out, ":\n");
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:239: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 buffer[1024];
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:811: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(copy->cell_corners_x, reg2d_grid->cell_corners_x, x_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:812: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(copy->cell_corners_y, reg2d_grid->cell_corners_y, y_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:813: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(copy->sin_cell_corners_x, reg2d_grid->sin_cell_corners_x, x_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:814: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(copy->cos_cell_corners_x, reg2d_grid->cos_cell_corners_x, x_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:815: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(copy->sin_cell_corners_y, reg2d_grid->sin_cell_corners_y, y_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:816: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(copy->cos_cell_corners_y, reg2d_grid->cos_cell_corners_y, y_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:963: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(cell_x_coords, reg2d_grid->cell_corners_x + index_range[0][0], index_range_extent[0] * sizeof(*cell_x_coords));
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d.c:964: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(cell_y_coords, reg2d_grid->cell_corners_y + index_range[1][0], index_range_extent[1] * sizeof(*cell_y_coords));
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.c:627:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.c:635:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.c:644:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(
data/cdo-1.9.10~rc1/src/lib/yac/grid_reg2d_common.c:652:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(
data/cdo-1.9.10~rc1/src/lib/yac/grid_search_utils.c:479: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(
data/cdo-1.9.10~rc1/src/lib/yac/grid_search_utils.c:512: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(
data/cdo-1.9.10~rc1/src/lib/yac/grid_search_utils.c:540: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/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:777: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(corners, inv_c2c_edges, inv_c2c_num_edges * sizeof(*inv_c2c_edges));
data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:782: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(corners + inv_c2c_num_edges, c2c_edges,
data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:1202: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(
data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:1400: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(coordinates_x, unstruct_grid->cell_corners_x, x_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:1401: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(coordinates_y, unstruct_grid->cell_corners_y, y_coords_size);
data/cdo-1.9.10~rc1/src/lib/yac/grid_unstruct.c:1654: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(*local_cell_ids, selected_local_cell_ids, num_local_cells * sizeof(**local_cell_ids));
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:632: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(*overlap_cells + *num_overlap_cells, node->I.list,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:649: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(*overlap_cells + *num_overlap_cells, node->T,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:663: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(*overlap_cells + *num_overlap_cells, node->U,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:695:10:  [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(*overlap_cells + *num_overlap_cells, node->T,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:714:10:  [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(*overlap_cells + *num_overlap_cells, node->U,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:1610:10:  [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(*overlap_cells + *num_overlap_cells, node->T,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:1628:10:  [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(*overlap_cells + *num_overlap_cells, node->U,
data/cdo-1.9.10~rc1/src/lib/yac/sphere_part.c:1676:10:  [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(*overlap_cells + *num_overlap_cells, node->I.list,
data/cdo-1.9.10~rc1/src/magics_template_parser.cc:216:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      mag_seti(param_name, atoi(param_value));
data/cdo-1.9.10~rc1/src/magics_template_parser.cc:229:35:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              int_param_list[i] = atoi(split_str[i]);
data/cdo-1.9.10~rc1/src/mapping.cc:46: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.
          char name[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/modules.cc:75:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(operatorName, operatorCommand, len);
data/cdo-1.9.10~rc1/src/modules.cc:240:17:  [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).
      auto fp = fopen(operatorName.c_str(), "r");
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc: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 str[256];
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc:548: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc:553: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.
          char attname[CDI_MAX_NAME + 1];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:122: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 string[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:188: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:197: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 units[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:777: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 attname[CDI_MAX_NAME + 1];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:810: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 attname[CDI_MAX_NAME + 1];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:908: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:961: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 xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:1595: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 xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/percentiles_hist.cc:47:36:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  return str != nullptr ? std::max(atoi(str), NBINS_MINIMUM) : NBINS_DEFAULT;
data/cdo-1.9.10~rc1/src/pipe.cc:323: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(p_data, data_d, datasize * sizeof(double));
data/cdo-1.9.10~rc1/src/pipe.cc:340: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(p_data, data_f, datasize * sizeof(float));
data/cdo-1.9.10~rc1/src/pmlist.cc:44: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 key[256];
data/cdo-1.9.10~rc1/src/pmlist.cc:157: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 vbuf[4096];
data/cdo-1.9.10~rc1/src/pmlist.cc:176:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(vbuf, buffer + t[i].start, len);
data/cdo-1.9.10~rc1/src/pmlist.cc:184:29:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          const auto code = atol(pval);
data/cdo-1.9.10~rc1/src/pmlist.cc:226:41:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "conventions") == 0) strcpy(name, "Conventions");
data/cdo-1.9.10~rc1/src/pmlist.cc:227:32:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "cn") == 0) strcpy(name, "cmor_name");
data/cdo-1.9.10~rc1/src/pmlist.cc:228:31:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "c") == 0) strcpy(name, "code");
data/cdo-1.9.10~rc1/src/pmlist.cc:229:31:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "n") == 0) strcpy(name, "name");
data/cdo-1.9.10~rc1/src/pmlist.cc:230:33:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "pmt") == 0) strcpy(name, "project_mip_table");
data/cdo-1.9.10~rc1/src/pmlist.cc:231:43:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "cordex_domain") == 0) strcpy(name, "CORDEX_domain");
data/cdo-1.9.10~rc1/src/pmlist.cc:232:47:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  if (strcmp(name, "char_axis_landuse") == 0) strcpy(name, "char_axis_landUse");
data/cdo-1.9.10~rc1/src/pmlist.cc:238: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[4096];
data/cdo-1.9.10~rc1/src/printinfo.cc: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 cstr[64];
data/cdo-1.9.10~rc1/src/printinfo.cc:31: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 cstr[32];
data/cdo-1.9.10~rc1/src/printinfo.cc:43: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 cstr[32];
data/cdo-1.9.10~rc1/src/printinfo.cc:108: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 xname[CDI_MAX_NAME], xunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/printinfo.cc:135: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 yname[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/printinfo.cc:162: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 xname[CDI_MAX_NAME], yname[CDI_MAX_NAME], xunits[CDI_MAX_NAME], yunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/printinfo.cc:300: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 gmapname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/printinfo.cc:305:33:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          if (gmapname[0] == 0) strcpy(gmapname, "undefined");
data/cdo-1.9.10~rc1/src/printinfo.cc:378:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
              char reference_link[8192];
data/cdo-1.9.10~rc1/src/printinfo.cc:408: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.
  unsigned char uuidOfHGrid[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/printinfo.cc:413: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 uuidOfHGridStr[37];
data/cdo-1.9.10~rc1/src/printinfo.cc:513: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 psname[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/printinfo.cc:550: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.
  unsigned char uuidOfVGrid[CDI_UUID_SIZE];
data/cdo-1.9.10~rc1/src/printinfo.cc:555: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 uuidOfVGridStr[37];
data/cdo-1.9.10~rc1/src/printinfo.cc:569: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 zaxisname[CDI_MAX_NAME], zname[CDI_MAX_NAME], zunits[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/process.cc:455: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 memstring[32] = { "" };
data/cdo-1.9.10~rc1/src/process.h:78: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 prompt[64];
data/cdo-1.9.10~rc1/src/process_int.cc:143: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 pline[1024];
data/cdo-1.9.10~rc1/src/realtime.cc:200: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 line[256];
data/cdo-1.9.10~rc1/src/realtime.cc:202:18:  [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).
  if ((cpuinfo = fopen("/proc/cpuinfo", "r")) == NULL)
data/cdo-1.9.10~rc1/src/remap_conserv_scrip.cc:1207:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE *fp = fopen(fname, "w");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:92: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 normalize_opt[64] = "unknown";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:93: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 map_method[64] = "unknown";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:94: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 tmp_string[64] = "unknown";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:95: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 src_grid_name[64] = "source grid";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc: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 tgt_grid_name[64] = "dest grid";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:105:25:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case NormOpt::NONE: strcpy(normalize_opt, "none"); break;
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:106:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case NormOpt::FRACAREA: strcpy(normalize_opt, "fracarea"); break;
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:107:29:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case NormOpt::DESTAREA: strcpy(normalize_opt, "destarea"); break;
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:116:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(map_method, "Largest area fraction");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:121:11:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
          strcpy(map_method, "Conservative remapping");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:135: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(map_method, "Conservative remapping using clipping on sphere");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:138:33:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case RemapMethod::BILINEAR: strcpy(map_method, "Bilinear remapping"); break;
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:139:32:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    case RemapMethod::BICUBIC: strcpy(map_method, "Bicubic remapping"); break;
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:142: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(map_method, "Nearest neighbor");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:144: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(map_method, "Distance weighted avg of nearest neighbors");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:212:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(tmp_string, "SCRIP");
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:226: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 history[1024] = "date and time";
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:431: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 map_method[64];
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:493: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 map_name[1024];
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:494: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 normalize_opt[64]; /* character string for normalization option */
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:495: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 convention[64];    /* character string for output convention    */
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:496: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 src_grid_name[64]; /* grid name for source grid                 */
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:497: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 tgt_grid_name[64]; /* grid name for dest   grid                 */
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:498: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 src_grid_units[64];
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:499: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 tgt_grid_units[64];
data/cdo-1.9.10~rc1/src/remapsort.cc:212:3:  [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(&wgt_tmp[0], weights, num_wts * num_links * sizeof(double));
data/cdo-1.9.10~rc1/src/sellist.cc:235: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 wcdate[512];
data/cdo-1.9.10~rc1/src/statistic.cc:1258:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  max_jacobi_iter = envstr ? atoi(envstr) : MAX_JACOBI_ITER;
data/cdo-1.9.10~rc1/src/timer.cc:103: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 mark1[32]; /* max: 16 on IBM; 8 for double (all other) */
data/cdo-1.9.10~rc1/src/timer.cc:104: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 text[128];
data/cdo-1.9.10~rc1/src/timer.cc:122: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 mark[32];
data/cdo-1.9.10~rc1/src/timer.cc:137: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 mark[32];
data/cdo-1.9.10~rc1/src/timer.cc:153: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 mark1[32], mark2[32];
data/cdo-1.9.10~rc1/src/util_files.cc:43: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 line[1024];
data/cdo-1.9.10~rc1/src/zaxis_print.cc:45: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 attstr[CDI_MAX_NAME];
data/cdo-1.9.10~rc1/src/zaxis_print.cc:121:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      unsigned char uuid[CDI_UUID_SIZE] = { 0 };
data/cdo-1.9.10~rc1/src/zaxis_print.cc:126: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.
          char uuidStr[37];
data/cdo-1.9.10~rc1/test/bandit_tests/wildcards.cc:35:19:  [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).
    files[fileID].open(fileName);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:320: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).
  const size_t len = strlen(string);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:372:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	  if ( instptr ) strncpy(tmpname, instptr, CDI_MAX_NAME-1);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:379:20:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	  if ( modelptr ) strncpy(tmpname, modelptr, CDI_MAX_NAME-1);
data/cdo-1.9.10~rc1/libcdi/app/cdi.c:698: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).
  const size_t len = strlen(arg);
data/cdo-1.9.10~rc1/libcdi/app/createtable.c:40: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).
      size_t len = strlen(cstring);
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:408:37:  [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 (uuidOfHGridStr[0] != 0 && strlen(uuidOfHGridStr) == 36)
data/cdo-1.9.10~rc1/libcdi/app/printinfo.c:524:37:  [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 (uuidOfVGridStr[0] != 0 && strlen(uuidOfVGridStr) == 36)
data/cdo-1.9.10~rc1/libcdi/src/cdf.c:86:44:  [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).
  cdf_put_att_text(ncid, NC_GLOBAL, "CDI", strlen(comment), comment);
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:26: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).
      size_t clen = strlen(cstr);
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:27: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).
      size_t vlen = strlen(vstr);
data/cdo-1.9.10~rc1/libcdi/src/cdf_util.c:77: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).
  size_t len = strlen(timeunits);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:193: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).
	  const size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:216:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:262:50:  [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).
      cdf_put_att_text(fileID, ncvarID, attname, strlen(atttxt), atttxt);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:338: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).
      if (name) cdf_put_att_text(fileID, ncvarID, "institution", strlen(name), name);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:494: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).
      size_t len = strlen(coordinates);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:509: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).
      const size_t len = strlen(gridNamePtr(gridtype));
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:515:75:  [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 ( gmapvarname[0] ) cdf_put_att_text(fileID, ncvarID, "grid_mapping", strlen(gmapvarname), gmapvarname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:531:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:540:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:591:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(cellarea);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:593: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 = strlen(cellarea);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:626: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).
  const size_t len = strlen(coordinates);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:720:55:  [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).
      cdf_put_att_text(fileID, ncvarID, "level_type", strlen(varname), varname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:744:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      char *varname2 = varname+strlen(varname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:780:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  char *varname2 = varname+strlen(varname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:877: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).
  if ( *stdname )  cdf_put_att_text(fileID, ncvarID, "standard_name", strlen(stdname), stdname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:878:67:  [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 ( *longname ) cdf_put_att_text(fileID, ncvarID, "long_name", strlen(longname), longname);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:879:63:  [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 ( *units )    cdf_put_att_text(fileID, ncvarID, "units", strlen(units), units);
data/cdo-1.9.10~rc1/libcdi/src/cdf_write.c:888:50:  [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).
      cdf_put_att_text(fileID, ncvarID, "param", strlen(paramstr), paramstr);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:35: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).
  size_t slen = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdi_att.c:60: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).
  size_t slen = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdi_int.c:84:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int len = (int) strlen(envString);
data/cdo-1.9.10~rc1/libcdi/src/cdi_key.c:615: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).
  int length = strlen(string) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:3706:44:  [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).
  cdf_put_att_text(ncid, NC_GLOBAL, "CDI", strlen(comment), comment);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4892: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).
      size_t clen = strlen(cstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4893: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).
      size_t vlen = strlen(vstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:4943: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).
  size_t len = strlen(timeunits);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:6274: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).
    size_t len = strlen(strTab[i]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:6292: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 len = (int)strlen(strTab[i]);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:6870:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int len = (int) strlen(envString);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20974: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).
      size_t len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:20987: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).
      size_t len = strlen(functionname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21040: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).
	  size_t len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21053: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).
	  size_t len = strlen(functionname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:21434: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(envString) == 2  )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22513:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      for (int i = 0; i < (int) strlen(envString); i++)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:22761:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      nread = read(fd, fileptr->buffer, fileptr->bufferSize);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23098:20:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          ivalue = fgetc(fileptr->fp);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23738: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).
  size_t expectedLength = strlen(expectedValue) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:23749: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).
  int rc = value ? (strlen(value) + 1 == expectedLength ? !strcmp(value, expectedValue) : false) : false;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:25086:77:  [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).
    cdiDefVarKeyBytes(&axisptr->keys, key, (const unsigned char*)name, (int)strlen(name)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:26729:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:27333:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return equal;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28388:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:28574:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:29553:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int nrun = (strlen(envString) == 2) ? 1 : 2;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30394:35:  [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).
              const size_t len1 = strlen(ip1->name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30395:35:  [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).
              const size_t len2 = strlen(ip2->name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30404:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const size_t len1 = strlen(ip1->longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30405:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const size_t len2 = strlen(ip2->longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30594: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).
  size_t namelen = strlen(ip->name), longnamelen = strlen(ip->longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30594:52:  [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).
  size_t namelen = strlen(ip->name), longnamelen = strlen(ip->longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30610: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).
  tempbuf[3] = (int)strlen(p->name) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30611: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).
  tempbuf[4] = (int)strlen(p->longname) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:30851:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if(outRestString) *outRestString = givenString + strlen(typeString); \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:31108:34:  [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* result = (char *) Malloc(strlen(ftypeStr) + 1 + strlen(advStr) + 1
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:31108:57:  [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* result = (char *) Malloc(strlen(ftypeStr) + 1 + strlen(advStr) + 1
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:31109:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                         + strlen(subclassDescription) + 1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32084:34:  [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 *result = (char *) Malloc(strlen(escapedPath)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:32648:34:  [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 *result = (char *) Malloc(strlen(escapedPath) + 3 * sizeof(int) * CHAR_BIT/8);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33807:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    + (size_t)serializeGetSize(p->name?(int)strlen(p->name) + 1:0, CDI_DATATYPE_TXT, context);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:33820:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  tempbuf[3] = p->name ? (int)strlen(p->name) + 1 : 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:35194:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int nrun = (strlen(envString) == 2) ? 1 : 2;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:36496: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).
  if ( !filemode || strlen(filemode) != 1 ) return CDI_EINVAL;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:37597:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return equal;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:37666: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).
    + serializeGetSize((int)strlen(streamP->filename) + 1,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:37682: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).
  intBuffer[2] = (int)strlen(streamP->filename) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38670: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).
  const size_t len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38679: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).
  const size_t len = strlen(timestr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38691: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).
  size_t len = strlen(timeunits);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:38956: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).
          size_t ssize = strlen(attbuf) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39446: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).
      cdiDefAttTxt(cdiID, varID, attname, strlen(attstring), attstring);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39502: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).
  int attlen = (int) strlen(attstring);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39675:34:  [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).
                    size_t pos = strlen(buf);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:39727:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              attstringsize = strlen(attstring) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40140:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              attstringsize = strlen(attstring) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40653:92:  [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).
  cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_NAME, (const unsigned char*)ncvar->name, (int)strlen(ncvar->name)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40655:102:  [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).
    cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_LONGNAME, (const unsigned char*)ncvar->longname, (int)strlen(ncvar->longname)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40657:96:  [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).
    cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_UNITS, (const unsigned char*)ncvar->units, (int)strlen(ncvar->units)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:40661:103:  [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).
      cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_STDNAME, (const unsigned  char*)ncvar->stdname, (int)strlen(ncvar->stdname)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41587:104:  [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).
            cdiDefKeyBytes(zaxisID, CDI_GLOBAL, CDI_KEY_STDNAME, (const unsigned  char*)pstdname, (int)strlen(pstdname)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41714: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).
      const size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:41982:30:  [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).
          size_t attstrlen = strlen(attstring);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42208:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(ncvars[ncvarid].name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:42794: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(stvalue) == 19 )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43161: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).
  if ( stdname[0] && (len = strlen(stdname)) )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43167:30:  [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 ( longname[0] && (len = strlen(longname)) )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43174: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).
  if ( units[0] && (len = strlen(units)) )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43233: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).
  const size_t len = strlen(dimname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43269:30:  [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).
  const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43293:30:  [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).
  const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43383:34:  [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).
      const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43507:58:  [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).
    cdf_put_att_text(fileID, NC_GLOBAL, "grid_file_uri", strlen(gridfile), gridfile);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43522: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 ( uuidOfHGridStr[0] != 0 && strlen(uuidOfHGridStr) == 36 )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43619: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).
          const size_t xaxisnameLen = strlen(xaxisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:43648: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).
          const size_t yaxisnameLen = strlen(yaxisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44129: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).
      cdf_put_att_text(fileID, p0varid, "long_name", strlen(longname), longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44131:50:  [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).
      cdf_put_att_text(fileID, p0varid, "units", strlen(units), units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44144: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.
  if ( zunits[0] == 0 ) strcpy(zunits, "1");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44166:52:  [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).
    cdf_put_att_text(fileID, ncvarid, "long_name", strlen(zlongname), zlongname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44167: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).
    cdf_put_att_text(fileID, ncvarid, "units", strlen(zunits), zunits);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44211:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44227:57:  [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).
            cdf_put_att_text(fileID, ncbvarid, "units", strlen(zunits), zunits);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44286: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 ( uuidOfVGridStr[0] != 0 && strlen(uuidOfVGridStr) == 36 )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44305: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).
  char strlen[8] = "strlen\0";
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44310:41:  [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).
  strlenID = checkDimName(fileID, clen, strlen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44312: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).
  if ( strlenID == CDI_UNDEFID ) cdf_def_dim(fileID, strlen, clen, &strlenID);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44478:50:  [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).
                      const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44485:67:  [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).
                      cdf_put_att_text(fileID, ncvarid, "bounds", strlen(axisname), axisname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44562:84:  [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).
void cdfDefCharacter(stream_t *streamptr, int gridID, int gridindex, int xory, int strlen)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44578: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).
          if ( gridInqXIsc(gridID0) == strlen && gridInqXsize(gridID0) == dimlen )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44580:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          else if ( gridInqYIsc(gridID0) == strlen && gridInqYsize(gridID0) == dimlen )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44601:35:  [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).
  strlenID = checkDimName(fileID, strlen, dimname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44602:63:  [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 ( strlenID == CDI_UNDEFID ) cdf_def_dim(fileID, dimname, strlen, &strlenID);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44613:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cvals[i] = (char*) Malloc(strlen * sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44645: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).
  count[1] = strlen;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44874:58:  [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).
        cdfDefCharacter(streamptr, gridID, gridindex, 0, strlen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44878:58:  [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).
        cdfDefCharacter(streamptr, gridID, gridindex, 1, strlen);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:44979: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).
      size_t taxisnameLen = strlen(taxis_name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45071: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).
        size_t len = strlen(calstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45115:55:  [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).
    cdf_put_att_text(fileID, time_varid, "long_name", strlen(taxis->longname), taxis->longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45125: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).
  size_t len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:45146: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).
      len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49233:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(record->varname, varname, sizeof(record->varname)-1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:49373: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).
  size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50131: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).
      size_t len = strlen(stdname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50141: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 = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50298: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).
      size_t len = strlen(stepType);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:50767: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).
  size_t len = strlen(mesg);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51764:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if ( checkName && ((strlen(cdi_name) != strlen(grb_name)) || !strStartsWith(cdi_name, grb_name)) )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:51764:51:  [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 ( checkName && ((strlen(cdi_name) != strlen(grb_name)) || !strStartsWith(cdi_name, grb_name)) )
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54897: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).
	  const size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54920:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:54966:50:  [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).
      cdf_put_att_text(fileID, ncvarID, attname, strlen(atttxt), atttxt);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55042: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).
      if (name) cdf_put_att_text(fileID, ncvarID, "institution", strlen(name), name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55198: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).
      size_t len = strlen(coordinates);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55213: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).
      const size_t len = strlen(gridNamePtr(gridtype));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55219:75:  [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 ( gmapvarname[0] ) cdf_put_att_text(fileID, ncvarID, "grid_mapping", strlen(gmapvarname), gmapvarname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55235:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55244:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55295:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(cellarea);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55297: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 = strlen(cellarea);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55330: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).
  const size_t len = strlen(coordinates);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55424:55:  [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).
      cdf_put_att_text(fileID, ncvarID, "level_type", strlen(varname), varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55448:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      char *varname2 = varname+strlen(varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55484:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  char *varname2 = varname+strlen(varname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55581: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).
  if ( *stdname )  cdf_put_att_text(fileID, ncvarID, "standard_name", strlen(stdname), stdname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55582:67:  [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 ( *longname ) cdf_put_att_text(fileID, ncvarID, "long_name", strlen(longname), longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55583:63:  [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 ( *units )    cdf_put_att_text(fileID, ncvarID, "units", strlen(units), units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:55592:50:  [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).
      cdf_put_att_text(fileID, ncvarID, "param", strlen(paramstr), paramstr);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59720: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).
  len = strlen(pline);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59856: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).
      size_t len = strlen(line);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59867: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).
      len = strlen(pline);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59924: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).
  tablenameLen = strlen(name2Use);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59931: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).
    lenp = strlen(tablePath);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59938:7:  [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(tablefile, "/");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:59977: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).
	      size_t len = strlen(tablename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60006: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).
		  size_t len = strlen(tablefile);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60145: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).
	  size_t lenname = strlen(parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60151: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).
	  size_t lenlname = strlen(parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60157: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).
	  size_t lenunits = strlen(parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60243: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).
	  size_t lenname = strlen(parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60249: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).
	  size_t lenlname = strlen(parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60255: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).
	  size_t lenunits = strlen(parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60260:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(tablename, parTable[tableID].name, sizeof (tablename));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60263: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).
    size_t len = strlen(tablename);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60271: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).
      size_t len = strlen(parTable[tableID].pars[item].name),
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60273: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).
        ? strlen(parTable[tableID].pars[item].longname) : 0,
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:60275: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).
        ? strlen(parTable[tableID].pars[item].units) : 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61252: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).
      size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61264: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).
      size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61276: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).
      size_t len = strlen(units);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61873:30:  [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).
       serializeGetSize((int)strlen(taxisptr->name), CDI_DATATYPE_TXT, context) : 0)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61875:30:  [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).
       serializeGetSize((int)strlen(taxisptr->longname), CDI_DATATYPE_TXT, context) : 0)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61877:30:  [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).
       serializeGetSize((int)strlen(taxisptr->units), CDI_DATATYPE_TXT, context) : 0);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61987: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).
  intBuffer[idx++] = taxisP->name ? (int)strlen(taxisP->name) : 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61988: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).
  intBuffer[idx++] = taxisP->longname ? (int)strlen(taxisP->longname) : 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:61989: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).
  intBuffer[idx++] = taxisP->units ? (int)strlen(taxisP->units) : 0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:62447: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).
  if ( uuid == NULL || uuidstr == NULL || strlen(uuidstr) != uuidNumHexChars)
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:63705: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).
  int length = strlen(string) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66067: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).
  int length = strlen(string) + 1;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66178: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).
  size_t slen = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:66203: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).
  size_t slen = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:67768:5:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
    sprintf(extra, "-");
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68357: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).
    varsize += serializeGetSize((int)strlen(var->extra), CDI_DATATYPE_TXT, context);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68388:72:  [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).
  tempbuf[VLISTVAR_PACK_INT_IDX_EXTRALEN] = extralen = var->extra?(int)strlen(var->extra):0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:68918:93:  [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).
    cdiDefVarKeyBytes(&zaxisptr->keys, CDI_KEY_STDNAME, (const unsigned char*)stdname, (int)strlen(stdname)+1);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:70956: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).
e = s + strlen(s);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72206:41:  [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).
#define   STRING_cfC(M,I,A,B,C) (B.clen=strlen(A),B.f.dsc$a_pointer=A,         \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72211: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).
             B.dsc$w_length=strlen(A):  (A[C-1]='\0',B.dsc$w_length=strlen(A), \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72211:69:  [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).
             B.dsc$w_length=strlen(A):  (A[C-1]='\0',B.dsc$w_length=strlen(A), \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72214: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).
#define   STRING_cfC(M,I,A,B,C) (B.nombre=A,B.clen=(unsigned)strlen(A),                             \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72217: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).
#define  PSTRING_cfC(M,I,A,B,C) (C==sizeof(char*)? B=strlen(A):                \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72218: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).
                    (A[C-1]='\0',B=strlen(A),memset((A)+B,' ',C-B-1),B=C-1));
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72610:55:  [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).
#define RRRRPSTR( A,B,D)    if (B) memcpy(A,B, _cfMIN(strlen(B),D)),           \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72611: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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72611:41:  [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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72611:58:  [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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72717: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).
 memcpy(AS->dsc$a_pointer,A0,_cfMIN(AS->dsc$w_length,(A0==NULL?0:strlen(A0))));\
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72718:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
 AS->dsc$w_length>(A0==NULL?0:strlen(A0))?                                     \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72719: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).
  memset(AS->dsc$a_pointer+(A0==NULL?0:strlen(A0)),' ',                        \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72720: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).
         AS->dsc$w_length-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72724:57:  [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).
 memcpy(_fcdtocp(AS),A0, _cfMIN(_fcdlen(AS),(A0==NULL?0:strlen(A0))) );        \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72725: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).
 _fcdlen(AS)>(A0==NULL?0:strlen(A0))?                                          \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72726:35:  [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).
  memset(_fcdtocp(AS)+(A0==NULL?0:strlen(A0)),' ',                             \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72727:34:  [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).
         _fcdlen(AS)-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72729:64:  [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).
#define STRING_cfK         memcpy(AS,A0, _cfMIN(D0,(A0==NULL?0:strlen(A0))) ); \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72730:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                 D0>(A0==NULL?0:strlen(A0))?memset(AS+(A0==NULL?0:strlen(A0)), \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72730:67:  [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).
                 D0>(A0==NULL?0:strlen(A0))?memset(AS+(A0==NULL?0:strlen(A0)), \
data/cdo-1.9.10~rc1/libcdi/src/cdilib.c:72731:65:  [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).
                                            ' ', D0-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:590: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).
e = s + strlen(s);
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1840:41:  [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).
#define   STRING_cfC(M,I,A,B,C) (B.clen=strlen(A),B.f.dsc$a_pointer=A,         \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1845: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).
             B.dsc$w_length=strlen(A):  (A[C-1]='\0',B.dsc$w_length=strlen(A), \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1845:69:  [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).
             B.dsc$w_length=strlen(A):  (A[C-1]='\0',B.dsc$w_length=strlen(A), \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1848: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).
#define   STRING_cfC(M,I,A,B,C) (B.nombre=A,B.clen=(unsigned)strlen(A),                             \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1851: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).
#define  PSTRING_cfC(M,I,A,B,C) (C==sizeof(char*)? B=strlen(A):                \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:1852: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).
                    (A[C-1]='\0',B=strlen(A),memset((A)+B,' ',C-B-1),B=C-1));
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2244:55:  [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).
#define RRRRPSTR( A,B,D)    if (B) memcpy(A,B, _cfMIN(strlen(B),D)),           \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2245: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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2245:41:  [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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2245:58:  [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).
                  (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2351: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).
 memcpy(AS->dsc$a_pointer,A0,_cfMIN(AS->dsc$w_length,(A0==NULL?0:strlen(A0))));\
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2352:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
 AS->dsc$w_length>(A0==NULL?0:strlen(A0))?                                     \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2353: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).
  memset(AS->dsc$a_pointer+(A0==NULL?0:strlen(A0)),' ',                        \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2354: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).
         AS->dsc$w_length-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2358:57:  [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).
 memcpy(_fcdtocp(AS),A0, _cfMIN(_fcdlen(AS),(A0==NULL?0:strlen(A0))) );        \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2359: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).
 _fcdlen(AS)>(A0==NULL?0:strlen(A0))?                                          \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2360:35:  [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).
  memset(_fcdtocp(AS)+(A0==NULL?0:strlen(A0)),' ',                             \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2361:34:  [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).
         _fcdlen(AS)-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2363:64:  [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).
#define STRING_cfK         memcpy(AS,A0, _cfMIN(D0,(A0==NULL?0:strlen(A0))) ); \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2364:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                 D0>(A0==NULL?0:strlen(A0))?memset(AS+(A0==NULL?0:strlen(A0)), \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2364:67:  [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).
                 D0>(A0==NULL?0:strlen(A0))?memset(AS+(A0==NULL?0:strlen(A0)), \
data/cdo-1.9.10~rc1/libcdi/src/cfortran.h:2365:65:  [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).
                                            ' ', D0-(A0==NULL?0:strlen(A0))):0;
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:297: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).
      size_t len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:310: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).
      size_t len = strlen(functionname);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:363: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).
	  size_t len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/dmemory.c:376: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).
	  size_t len = strlen(functionname);
data/cdo-1.9.10~rc1/libcdi/src/extralib.c:58: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(envString) == 2  )
data/cdo-1.9.10~rc1/libcdi/src/file.c:585:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      for (int i = 0; i < (int) strlen(envString); i++)
data/cdo-1.9.10~rc1/libcdi/src/file.c:833:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      nread = read(fd, fileptr->buffer, fileptr->bufferSize);
data/cdo-1.9.10~rc1/libcdi/src/file.c:1170:20:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          ivalue = fgetc(fileptr->fp);
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:80: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).
  size_t expectedLength = strlen(expectedValue) + 1;
data/cdo-1.9.10~rc1/libcdi/src/gribapi_utilities.c:91: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).
  int rc = value ? (strlen(value) + 1 == expectedLength ? !strcmp(value, expectedValue) : false) : false;
data/cdo-1.9.10~rc1/libcdi/src/grid.c:263:77:  [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).
    cdiDefVarKeyBytes(&axisptr->keys, key, (const unsigned char*)name, (int)strlen(name)+1);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:1907:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:2511:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return equal;
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3566:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/grid.c:3752:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int)(strlen(gmapname)), gmapname);
data/cdo-1.9.10~rc1/libcdi/src/ieglib.c:44:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int nrun = (strlen(envString) == 2) ? 1 : 2;
data/cdo-1.9.10~rc1/libcdi/src/institution.c:93:35:  [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).
              const size_t len1 = strlen(ip1->name);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:94:35:  [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).
              const size_t len2 = strlen(ip2->name);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:103:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const size_t len1 = strlen(ip1->longname);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:104:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const size_t len2 = strlen(ip2->longname);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:293: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).
  size_t namelen = strlen(ip->name), longnamelen = strlen(ip->longname);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:293:52:  [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).
  size_t namelen = strlen(ip->name), longnamelen = strlen(ip->longname);
data/cdo-1.9.10~rc1/libcdi/src/institution.c:309: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).
  tempbuf[3] = (int)strlen(p->name) + 1;
data/cdo-1.9.10~rc1/libcdi/src/institution.c:310: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).
  tempbuf[4] = (int)strlen(p->longname) + 1;
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:55:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if(outRestString) *outRestString = givenString + strlen(typeString); \
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:312:34:  [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* result = (char *) Malloc(strlen(ftypeStr) + 1 + strlen(advStr) + 1
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:312:57:  [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* result = (char *) Malloc(strlen(ftypeStr) + 1 + strlen(advStr) + 1
data/cdo-1.9.10~rc1/libcdi/src/iterator.c:313:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                         + strlen(subclassDescription) + 1);
data/cdo-1.9.10~rc1/libcdi/src/iterator_fallback.c:120:34:  [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 *result = (char *) Malloc(strlen(escapedPath)
data/cdo-1.9.10~rc1/libcdi/src/iterator_grib.c:143:34:  [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 *result = (char *) Malloc(strlen(escapedPath) + 3 * sizeof(int) * CHAR_BIT/8);
data/cdo-1.9.10~rc1/libcdi/src/model.c:292:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    + (size_t)serializeGetSize(p->name?(int)strlen(p->name) + 1:0, CDI_DATATYPE_TXT, context);
data/cdo-1.9.10~rc1/libcdi/src/model.c:305:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  tempbuf[3] = p->name ? (int)strlen(p->name) + 1 : 0;
data/cdo-1.9.10~rc1/libcdi/src/pio_client.c:49:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t filename_len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_all.c:45: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).
  size_t nameSize = strlen(filename) + 1;
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_at_reblock.c:141: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).
  size_t nameSize = strlen(filename) + 1;
data/cdo-1.9.10~rc1/libcdi/src/pio_mpi_fw_ordered.c:42: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).
  aFiledataM *of = Malloc(sizeof (*of) + strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_mpinonb.c:48:56:  [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).
  aFiledataM *of = (aFiledataM *)Malloc(sizeof (*of) + strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:61: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).
  bfd = (bFiledataPA*) Malloc( sizeof (*bfd) + strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:258: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).
            pMB += (strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixasynch.c:261: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).
            pMB += (strlen(temp) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixfpguardsendrecv.c:73: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).
  len = strlen(key);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:43:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  bfp = Malloc(sizeof (*bfp) + strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:171: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).
            pMB += (strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_posixnonb.c:174: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).
            pMB += (strlen(temp) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:45: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).
  len = strlen(filename);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:253: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).
  iret = dbuffer_push(afd->db, filename, strlen(filename) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:256:41:  [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).
  iret = dbuffer_push(afd->db, message, strlen(message) + 1);
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:261: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).
      size_t l = strlen(filename) + strlen(message) + 2;
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:261:37:  [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).
      size_t l = strlen(filename) + strlen(message) + 2;
data/cdo-1.9.10~rc1/libcdi/src/pio_record_send.c:263:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(temp, (char *)afd->db->buffer, l);
data/cdo-1.9.10~rc1/libcdi/src/serialize.h:147: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).
    size_t len = strlen(strTab[i]);
data/cdo-1.9.10~rc1/libcdi/src/serialize.h:165: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 len = (int)strlen(strTab[i]);
data/cdo-1.9.10~rc1/libcdi/src/servicelib.c:58:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int nrun = (strlen(envString) == 2) ? 1 : 2;
data/cdo-1.9.10~rc1/libcdi/src/stream.c:609: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).
  if ( !filemode || strlen(filemode) != 1 ) return CDI_EINVAL;
data/cdo-1.9.10~rc1/libcdi/src/stream.c:1712:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return equal;
data/cdo-1.9.10~rc1/libcdi/src/stream.c:1781: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).
    + serializeGetSize((int)strlen(streamP->filename) + 1,
data/cdo-1.9.10~rc1/libcdi/src/stream.c:1797: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).
  intBuffer[2] = (int)strlen(streamP->filename) + 1;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:143: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).
  const size_t len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:152: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).
  const size_t len = strlen(timestr);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:164: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).
  size_t len = strlen(timeunits);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:429: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).
          size_t ssize = strlen(attbuf) + 1;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:919: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).
      cdiDefAttTxt(cdiID, varID, attname, strlen(attstring), attstring);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:975: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).
  int attlen = (int) strlen(attstring);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1148:34:  [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).
                    size_t pos = strlen(buf);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1200:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              attstringsize = strlen(attstring) + 1;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:1613:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              attstringsize = strlen(attstring) + 1;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2126:92:  [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).
  cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_NAME, (const unsigned char*)ncvar->name, (int)strlen(ncvar->name)+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2128:102:  [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).
    cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_LONGNAME, (const unsigned char*)ncvar->longname, (int)strlen(ncvar->longname)+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2130:96:  [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).
    cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_UNITS, (const unsigned char*)ncvar->units, (int)strlen(ncvar->units)+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:2134:103:  [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).
      cdiDefVarKeyBytes(&gridaxis->keys, CDI_KEY_STDNAME, (const unsigned  char*)ncvar->stdname, (int)strlen(ncvar->stdname)+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3060:104:  [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).
            cdiDefKeyBytes(zaxisID, CDI_GLOBAL, CDI_KEY_STDNAME, (const unsigned  char*)pstdname, (int)strlen(pstdname)+1);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3187: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).
      const size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3455:30:  [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).
          size_t attstrlen = strlen(attstring);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:3681:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t len = strlen(ncvars[ncvarid].name);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_i.c:4267: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(stvalue) == 19 )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:252: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).
  if ( stdname[0] && (len = strlen(stdname)) )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:258:30:  [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 ( longname[0] && (len = strlen(longname)) )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:265: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).
  if ( units[0] && (len = strlen(units)) )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:324: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).
  const size_t len = strlen(dimname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:360:30:  [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).
  const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:384:30:  [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).
  const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:474:34:  [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).
      const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:598:58:  [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).
    cdf_put_att_text(fileID, NC_GLOBAL, "grid_file_uri", strlen(gridfile), gridfile);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:613: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 ( uuidOfHGridStr[0] != 0 && strlen(uuidOfHGridStr) == 36 )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:710: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).
          const size_t xaxisnameLen = strlen(xaxisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:739: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).
          const size_t yaxisnameLen = strlen(yaxisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1220: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).
      cdf_put_att_text(fileID, p0varid, "long_name", strlen(longname), longname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1222:50:  [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).
      cdf_put_att_text(fileID, p0varid, "units", strlen(units), units);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1235: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.
  if ( zunits[0] == 0 ) strcpy(zunits, "1");
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1257:52:  [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).
    cdf_put_att_text(fileID, ncvarid, "long_name", strlen(zlongname), zlongname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1258: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).
    cdf_put_att_text(fileID, ncvarid, "units", strlen(zunits), zunits);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1302:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1318:57:  [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).
            cdf_put_att_text(fileID, ncbvarid, "units", strlen(zunits), zunits);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1377: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 ( uuidOfVGridStr[0] != 0 && strlen(uuidOfVGridStr) == 36 )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1396: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).
  char strlen[8] = "strlen\0";
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1401:41:  [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).
  strlenID = checkDimName(fileID, clen, strlen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1403: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).
  if ( strlenID == CDI_UNDEFID ) cdf_def_dim(fileID, strlen, clen, &strlenID);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1569:50:  [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).
                      const size_t axisnameLen = strlen(axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1576:67:  [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).
                      cdf_put_att_text(fileID, ncvarid, "bounds", strlen(axisname), axisname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1653:84:  [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).
void cdfDefCharacter(stream_t *streamptr, int gridID, int gridindex, int xory, int strlen)
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1669: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).
          if ( gridInqXIsc(gridID0) == strlen && gridInqXsize(gridID0) == dimlen )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1671:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          else if ( gridInqYIsc(gridID0) == strlen && gridInqYsize(gridID0) == dimlen )
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1692:35:  [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).
  strlenID = checkDimName(fileID, strlen, dimname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1693:63:  [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 ( strlenID == CDI_UNDEFID ) cdf_def_dim(fileID, dimname, strlen, &strlenID);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1704:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cvals[i] = (char*) Malloc(strlen * sizeof(char));
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1736: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).
  count[1] = strlen;
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1965:58:  [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).
        cdfDefCharacter(streamptr, gridID, gridindex, 0, strlen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_o.c:1969:58:  [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).
        cdfDefCharacter(streamptr, gridID, gridindex, 1, strlen);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:41: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).
      size_t taxisnameLen = strlen(taxis_name);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:133: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).
        size_t len = strlen(calstr);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:177:55:  [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).
    cdf_put_att_text(fileID, time_varid, "long_name", strlen(taxis->longname), taxis->longname);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:187: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).
  size_t len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/stream_cdf_time.c:208: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).
      len = strlen(unitstr);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:679:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(record->varname, varname, sizeof(record->varname)-1);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:819: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).
  size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1577: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).
      size_t len = strlen(stdname);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1587: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 = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:1744: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).
      size_t len = strlen(stepType);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:2213: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).
  size_t len = strlen(mesg);
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3210:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if ( checkName && ((strlen(cdi_name) != strlen(grb_name)) || !strStartsWith(cdi_name, grb_name)) )
data/cdo-1.9.10~rc1/libcdi/src/stream_gribapi.c:3210:51:  [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 ( checkName && ((strlen(cdi_name) != strlen(grb_name)) || !strStartsWith(cdi_name, grb_name)) )
data/cdo-1.9.10~rc1/libcdi/src/table.c:187: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).
  len = strlen(pline);
data/cdo-1.9.10~rc1/libcdi/src/table.c:323: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).
      size_t len = strlen(line);
data/cdo-1.9.10~rc1/libcdi/src/table.c:334: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).
      len = strlen(pline);
data/cdo-1.9.10~rc1/libcdi/src/table.c:391: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).
  tablenameLen = strlen(name2Use);
data/cdo-1.9.10~rc1/libcdi/src/table.c:398: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).
    lenp = strlen(tablePath);
data/cdo-1.9.10~rc1/libcdi/src/table.c:405:7:  [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(tablefile, "/");
data/cdo-1.9.10~rc1/libcdi/src/table.c:444: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).
	      size_t len = strlen(tablename);
data/cdo-1.9.10~rc1/libcdi/src/table.c:473: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).
		  size_t len = strlen(tablefile);
data/cdo-1.9.10~rc1/libcdi/src/table.c:612: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).
	  size_t lenname = strlen(parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/table.c:618: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).
	  size_t lenlname = strlen(parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/table.c:624: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).
	  size_t lenunits = strlen(parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/table.c:710: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).
	  size_t lenname = strlen(parTable[tableID].pars[item].name);
data/cdo-1.9.10~rc1/libcdi/src/table.c:716: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).
	  size_t lenlname = strlen(parTable[tableID].pars[item].longname);
data/cdo-1.9.10~rc1/libcdi/src/table.c:722: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).
	  size_t lenunits = strlen(parTable[tableID].pars[item].units);
data/cdo-1.9.10~rc1/libcdi/src/table.c:727:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(tablename, parTable[tableID].name, sizeof (tablename));
data/cdo-1.9.10~rc1/libcdi/src/table.c:730: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).
    size_t len = strlen(tablename);
data/cdo-1.9.10~rc1/libcdi/src/table.c:738: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).
      size_t len = strlen(parTable[tableID].pars[item].name),
data/cdo-1.9.10~rc1/libcdi/src/table.c:740: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).
        ? strlen(parTable[tableID].pars[item].longname) : 0,
data/cdo-1.9.10~rc1/libcdi/src/table.c:742: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).
        ? strlen(parTable[tableID].pars[item].units) : 0;
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:906: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).
      size_t len = strlen(name);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:918: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).
      size_t len = strlen(longname);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:930: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).
      size_t len = strlen(units);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1527:30:  [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).
       serializeGetSize((int)strlen(taxisptr->name), CDI_DATATYPE_TXT, context) : 0)
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1529:30:  [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).
       serializeGetSize((int)strlen(taxisptr->longname), CDI_DATATYPE_TXT, context) : 0)
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1531:30:  [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).
       serializeGetSize((int)strlen(taxisptr->units), CDI_DATATYPE_TXT, context) : 0);
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1641: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).
  intBuffer[idx++] = taxisP->name ? (int)strlen(taxisP->name) : 0;
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1642: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).
  intBuffer[idx++] = taxisP->longname ? (int)strlen(taxisP->longname) : 0;
data/cdo-1.9.10~rc1/libcdi/src/taxis.c:1643: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).
  intBuffer[idx++] = taxisP->units ? (int)strlen(taxisP->units) : 0;
data/cdo-1.9.10~rc1/libcdi/src/util.c:44: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).
  if ( uuid == NULL || uuidstr == NULL || strlen(uuidstr) != uuidNumHexChars)
data/cdo-1.9.10~rc1/libcdi/src/varscan.c:1040: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).
  int length = strlen(string) + 1;
data/cdo-1.9.10~rc1/libcdi/src/vlist_var.c:983:5:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
    sprintf(extra, "-");
data/cdo-1.9.10~rc1/libcdi/src/vlist_var_pack.c:38: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).
    varsize += serializeGetSize((int)strlen(var->extra), CDI_DATATYPE_TXT, context);
data/cdo-1.9.10~rc1/libcdi/src/vlist_var_pack.c:69:72:  [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).
  tempbuf[VLISTVAR_PACK_INT_IDX_EXTRALEN] = extralen = var->extra?(int)strlen(var->extra):0;
data/cdo-1.9.10~rc1/libcdi/src/zaxis.c:202:93:  [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).
    cdiDefVarKeyBytes(&zaxisptr->keys, CDI_KEY_STDNAME, (const unsigned char*)stdname, (int)strlen(stdname)+1);
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:57: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).
  if (!(fname = (char *)malloc((prefix_len = strlen(prefix)) + 1
data/cdo-1.9.10~rc1/libcdi/tests/cksum_write.c:58: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).
                       + (suffix_len = strlen(suffix)) + 1)))
data/cdo-1.9.10~rc1/src/Afterburner.cc:176: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).
      int i = strlen(ifile);
data/cdo-1.9.10~rc1/src/Afterburner.cc:1166:11:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int c = getchar();
data/cdo-1.9.10~rc1/src/Afterburner.cc:1179:11:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      c = getchar();
data/cdo-1.9.10~rc1/src/Afterburner.cc:1186:65:  [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).
      fprintf(stderr, "  Length of namelist:%4d bytes\n", (int) strlen(namelist));
data/cdo-1.9.10~rc1/src/Afterburner.cc:1188: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).
      for (i = 0; i < (int) strlen(namelist); i += 60) fprintf(stderr, "  namelist[%02d]=%-60.60s\n", i, namelist + i);
data/cdo-1.9.10~rc1/src/CMOR.cc:107:41:  [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 *dataset_path = (char *) Malloc((strlen(cwd) + 1 + strlen("dataset.json") + 7) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:107:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  char *dataset_path = (char *) Malloc((strlen(cwd) + 1 + strlen("dataset.json") + 7) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:246: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).
  size_t len = strlen(pline);
data/cdo-1.9.10~rc1/src/CMOR.cc:272: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 ( strlen(values[*nvalues-1]) > CMOR_MAX_STRING )
data/cdo-1.9.10~rc1/src/CMOR.cc:318: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(values[*nvalues-1]) > CMOR_MAX_STRING )
data/cdo-1.9.10~rc1/src/CMOR.cc:383:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto status = listBuffer.read(fp, filename);
data/cdo-1.9.10~rc1/src/CMOR.cc:630:85:  [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).
      cdiDefAttTxt(vlistID, withnewcharaxis.inputKeys[0].varID, "merge_axis", (int) strlen(ids), ids);
data/cdo-1.9.10~rc1/src/CMOR.cc:978:13:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
            sprintf(infile_attvalue," ");
data/cdo-1.9.10~rc1/src/CMOR.cc:1194: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).
      char *references = (char *) Malloc(strlen(kv_model_id->values[0].c_str()) + 28);
data/cdo-1.9.10~rc1/src/CMOR.cc:1454:37:  [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 *workfile = (char *) Malloc((strlen(cwd) + strlen(dotconfig) + 2) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:1454:51:  [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 *workfile = (char *) Malloc((strlen(cwd) + strlen(dotconfig) + 2) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:1883:35:  [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 *cvname = (char *) Malloc((strlen(directory)+strlen(cvwithout)+2)*sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:1883: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).
  char *cvname = (char *) Malloc((strlen(directory)+strlen(cvwithout)+2)*sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:2050: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).
      size_t inilen = strlen(notincluded); 
data/cdo-1.9.10~rc1/src/CMOR.cc:2062: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).
              strlens+=(strlen(kv.key.c_str())+2);
data/cdo-1.9.10~rc1/src/CMOR.cc:2087: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 *dataset_path = (char *) Malloc((strlen(cwd) + 1 + strlen("dataset.json") + 7) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:2087:61:  [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 *dataset_path = (char *) Malloc((strlen(cwd) + 1 + strlen("dataset.json") + 7) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:2105:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                int linelen = strlen(kv.key.c_str()) + strlen(kv.values[0].c_str()) + 10;
data/cdo-1.9.10~rc1/src/CMOR.cc:2105:56:  [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 linelen = strlen(kv.key.c_str()) + strlen(kv.values[0].c_str()) + 10;
data/cdo-1.9.10~rc1/src/CMOR.cc:2135:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                int linelen = strlen(allneeded[i]) + strlen(tmp) + 10;
data/cdo-1.9.10~rc1/src/CMOR.cc:2135: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).
                int linelen = strlen(allneeded[i]) + strlen(tmp) + 10;
data/cdo-1.9.10~rc1/src/CMOR.cc:2336: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).
    if (result < strlen(array[i].c_str())) result = strlen(array[i].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2336: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).
    if (result < strlen(array[i].c_str())) result = strlen(array[i].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2396:44:  [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).
  sprintf((char *) charcmor, "%.*s", (int) strlen(charvals[0].c_str()), charvals[0].c_str());
data/cdo-1.9.10~rc1/src/CMOR.cc:2399:75:  [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).
  sprintf((char *) charcmor, "%s%.*s", (char *) charcmor, (int) (maxlen - strlen(charvals[0].c_str())), blanks.data());
data/cdo-1.9.10~rc1/src/CMOR.cc:2403: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).
      sprintf((char *) charcmor, "%s%.*s", (char *) charcmor, (int) (maxlen - strlen(charvals[i].c_str())), blanks.data());
data/cdo-1.9.10~rc1/src/CMOR.cc:2787:17:  [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(zaxisunits, "m");
data/cdo-1.9.10~rc1/src/CMOR.cc:3095: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).
  if (mip_table_dir[strlen(mip_table_dir) - 1] == '/')
data/cdo-1.9.10~rc1/src/CMOR.cc:3515: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).
  int l_p_rll = strlen("grid_north_pole_longitude") + 1;
data/cdo-1.9.10~rc1/src/CMOR.cc:3521: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).
  int l_u_rll = strlen("degrees_north") + 1;
data/cdo-1.9.10~rc1/src/CMOR.cc:3525: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).
  int l_p_lcc = strlen("longitude_of_central_meridian") + 1;
data/cdo-1.9.10~rc1/src/CMOR.cc:3966:35:  [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.
  if (strcmp(positive, " ") == 0) strcpy(positive, "");
data/cdo-1.9.10~rc1/src/CMOR.cc:4896:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(old_start_date, test, j);
data/cdo-1.9.10~rc1/src/CMOR.cc:4899:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(old_end_date, test, j);
data/cdo-1.9.10~rc1/src/CMOR.cc:5097:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto status = listBuffer.read(fp, chunk_des_file);
data/cdo-1.9.10~rc1/src/CMOR.cc:5164:7:  [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(trunk, "_");
data/cdo-1.9.10~rc1/src/CMOR.cc:5535:37:  [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 lengthCombi = strlen(prelim) + strlen(prefixCordex);
data/cdo-1.9.10~rc1/src/CMOR.cc:5535: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).
                  int lengthCombi = strlen(prelim) + strlen(prefixCordex);
data/cdo-1.9.10~rc1/src/CMOR.cc:5583:15:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
              strncpy(varname, file_name, firsts);
data/cdo-1.9.10~rc1/src/CMOR.cc:5620:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(smon1, &timename[5], 2);
data/cdo-1.9.10~rc1/src/CMOR.cc:5621:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(smon2, &timename[12], 2);
data/cdo-1.9.10~rc1/src/CMOR.cc:5629:23:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                      strncpy(syr, &timename[1], 4);
data/cdo-1.9.10~rc1/src/CMOR.cc:5632:23:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                      strncpy(&timename[1], syr, 4);
data/cdo-1.9.10~rc1/src/CMOR.cc:5641:23:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                      strncpy(syr, &timename[8], 4);
data/cdo-1.9.10~rc1/src/CMOR.cc:5644:23:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                      strncpy(&timename[8], syr, 4);
data/cdo-1.9.10~rc1/src/CMOR.cc:5648:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(&timename[5], smon1, 2);
data/cdo-1.9.10~rc1/src/CMOR.cc:5649:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(&timename[12], smon2, 2);
data/cdo-1.9.10~rc1/src/CMOR.cc:5694: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).
                  int patternlength = strlen(oldmember);
data/cdo-1.9.10~rc1/src/CMOR.cc:5704:56:  [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).
                                chunkpath[startpattern+strlen(newmember)-patternlength] = '\0';
data/cdo-1.9.10~rc1/src/CMOR.cc:5822: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).
        maptabbuild = (char *) Malloc((strlen(maptab) + strlen(maptabdir) + 2) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:5822:57:  [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).
        maptabbuild = (char *) Malloc((strlen(maptab) + strlen(maptabdir) + 2) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6002: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).
      cwd[strlen(cwd)] = '\0';
data/cdo-1.9.10~rc1/src/CMOR.cc:6005:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          strncpy(miptabdir, params, j + 1);
data/cdo-1.9.10~rc1/src/CMOR.cc:6013:11:  [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(miptabdir, "/");
data/cdo-1.9.10~rc1/src/CMOR.cc:6014:11:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
          strncat(miptabdir, params, j + 1);
data/cdo-1.9.10~rc1/src/CMOR.cc:6015: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).
          miptabdir[strlen(cwd)+j + 1] = '\0';
data/cdo-1.9.10~rc1/src/CMOR.cc:6032: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).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 3) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6032:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 3) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6032:80:  [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).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 3) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6037: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).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 8) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6037:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 8) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6037:80:  [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).
            miptab = (char *) Malloc((strlen(miptabdir) + strlen(project_id) + strlen(params) + 8) * sizeof(char));
data/cdo-1.9.10~rc1/src/CMOR.cc:6254: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).
  std::vector<char> miptemp(strlen(mip_table) - 4);
data/cdo-1.9.10~rc1/src/CMOR.cc:6255:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(miptemp.data(), mip_table, strlen(mip_table) - 5);
data/cdo-1.9.10~rc1/src/CMOR.cc:6255: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).
  strncpy(miptemp.data(), mip_table, strlen(mip_table) - 5);
data/cdo-1.9.10~rc1/src/CMOR.cc:6256: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).
  miptemp[strlen(mip_table) - 5] = '\0';
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:41: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).
  const auto len1 = strlen(units_old);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:42: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).
  const auto len2 = strlen(units);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:54:61:  [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).
      cdiDefAttTxt(vlistID2, varID, "original_units", (int) strlen(units_old), units_old);
data/cdo-1.9.10~rc1/src/CMOR_lite.cc:242:76:  [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).
                      cdiDefAttTxt(vlistID2, varID, "original_name", (int) strlen(var.name), var.name);
data/cdo-1.9.10~rc1/src/CMOR_table.cc:59: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).
      if (strncmp(listname, hname, strlen(hname)) == 0)
data/cdo-1.9.10~rc1/src/CMOR_table.cc:65:34:  [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).
              const size_t len = strlen(ename);
data/cdo-1.9.10~rc1/src/CMOR_table.cc:74:41:  [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 (strncmp(listname, vname, strlen(vname)) == 0)
data/cdo-1.9.10~rc1/src/CMOR_table.cc:81:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              const int len = strlen(ename);
data/cdo-1.9.10~rc1/src/CMOR_table.cc:82: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).
              int vlen = strlen(evalue);
data/cdo-1.9.10~rc1/src/Collgrid.cc:373: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).
          int len = (int) strlen(argument);
data/cdo-1.9.10~rc1/src/Deltime.cc:66:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          strncpy(smon, sarg, sizeof(smon) - 1);
data/cdo-1.9.10~rc1/src/Distgrid.cc:341: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).
  const int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/EcaEtccdi.cc:303:55:  [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).
      cdiDefAttTxt(vlistID4, 0, "cell_methods", (int) strlen("time: maximum"), "time: maximum");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:391: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:395: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:399: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:403: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:406: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:407: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:410: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:411: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:414: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:415: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:418: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:419: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:422: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:423: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:426: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:427: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:430: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:431: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:434: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:435: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:450:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "file_type", strlen(strfiletype_ml), strfiletype_ml));
data/cdo-1.9.10~rc1/src/Echam5ini.cc:478: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:481: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:489: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:492: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:511: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:513: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:514: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:522: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:524: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(atttext, "");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:525: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).
  attlen = strlen(atttext);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:583:65:  [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).
        nce(nc_put_att_text(nc_file_id, nc_var_id, "long_name", strlen(vars[varid].longname), vars[varid].longname));
data/cdo-1.9.10~rc1/src/Echam5ini.cc:585:61:  [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).
        nce(nc_put_att_text(nc_file_id, nc_var_id, "units", strlen(vars[varid].units), vars[varid].units));
data/cdo-1.9.10~rc1/src/Echam5ini.cc:761:41:  [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 (memcmp(filetype, strfiletype_res, strlen(strfiletype_res)) != 0) return 0;
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1129:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "file_type", strlen(strfiletype_res), strfiletype_res));
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1544:73:  [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).
          cdiDefAttTxt(vlistID2, CDI_GLOBAL, atts.atxtname[iatt], (int) strlen(atts.atxtentry[iatt]) + 1, atts.atxtentry[iatt]);
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1607:23:  [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(name, "Q");
data/cdo-1.9.10~rc1/src/Echam5ini.cc:1627:23:  [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(units, "K");
data/cdo-1.9.10~rc1/src/Ensval.cc:182: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).
      int namelen = strlen(ofilebase) + 9 // type_suffix
data/cdo-1.9.10~rc1/src/Eofcoeff.cc:74: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).
  int nchars = strlen(oname);
data/cdo-1.9.10~rc1/src/Eofcoeff3d.cc:72: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).
  int nchars = strlen(oname);
data/cdo-1.9.10~rc1/src/Exprf.cc:64: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).
      const size_t slen = strlen(firstArg);
data/cdo-1.9.10~rc1/src/Exprf.cc:79:30:  [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 *pexprs = exprs + strlen(firstArg);
data/cdo-1.9.10~rc1/src/Exprf.cc:118:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while ((ichar = fgetc(fp)) != EOF) exprs[ipos++] = ichar;
data/cdo-1.9.10~rc1/src/Exprf.cc:136: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).
  const auto needle_len = strlen(needle);
data/cdo-1.9.10~rc1/src/Exprf.cc:137: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).
  const auto repl_len = strlen(replacement);
data/cdo-1.9.10~rc1/src/Exprf.cc:171: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).
  const auto len = strlen(exprs);
data/cdo-1.9.10~rc1/src/Exprf.cc:194:11:  [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(buf, "=");
data/cdo-1.9.10~rc1/src/Exprf.cc:269: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).
      parse_arg.coords[ncoords].units.resize(strlen(units) + 1);
data/cdo-1.9.10~rc1/src/Exprf.cc:274:49:  [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).
      parse_arg.coords[ncoords].longname.resize(strlen(longname) + 1);
data/cdo-1.9.10~rc1/src/Exprf.cc:513:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      const auto len = strlen(params[pidx].name);
data/cdo-1.9.10~rc1/src/Filedes.cc:251: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).
      if (strlen(varstdname))
data/cdo-1.9.10~rc1/src/Filedes.cc:256: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).
      if (strlen(varlongname))
data/cdo-1.9.10~rc1/src/Filedes.cc:261: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).
      if (strlen(varunits))
data/cdo-1.9.10~rc1/src/Gradsdes.cc:696: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 = (int) strlen(varname);
data/cdo-1.9.10~rc1/src/Gradsdes.cc:969: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).
  const auto len = strlen(datfile);
data/cdo-1.9.10~rc1/src/Harmonic.cc:77: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).
  int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Importbinary.cc:262: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).
        const auto len = strlen(longname);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:273: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).
  len = (int) strlen(pcs_def);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:791: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).
  len = (int) strlen(varname);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:832: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 = strlen(attname);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1210:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      for (pos = 0; pos < (int) strlen(attname); ++pos)
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1218:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          cdiDefAttTxt(vlistID, CDI_GLOBAL, attname, (int) strlen(attstring), attstring);
data/cdo-1.9.10~rc1/src/Importcmsaf.cc:1415:78:  [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 (dsets.obj[ivar].title) cdiDefAttTxt(vlistID, varID, "title", (int) strlen(dsets.obj[ivar].title), dsets.obj[ivar].title);
data/cdo-1.9.10~rc1/src/Intyear.cc:70: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).
  const int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Magplot.cc:818: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).
      int n = strlen(colour_in);
data/cdo-1.9.10~rc1/src/Magplot.cc:833:74:  [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 (DBG) fprintf(stdout, "  count %d  modified color %s \n", (int) strlen(temp), temp);
data/cdo-1.9.10~rc1/src/NCL_wind.cc:126: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(name_u, "u");
data/cdo-1.9.10~rc1/src/NCL_wind.cc:127: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(name_v, "v");
data/cdo-1.9.10~rc1/src/Output.cc:232: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).
              len = strlen(Keynames[k]);
data/cdo-1.9.10~rc1/src/Output.cc:236:30:  [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 len2 = strlen(currentName);
data/cdo-1.9.10~rc1/src/Selmulti.cc:644: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).
  size_t lensub = strlen(substr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:645: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).
  size_t lenstr = strlen(str);
data/cdo-1.9.10~rc1/src/Selmulti.cc:683: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).
  size_t lenstr = strlen(str);
data/cdo-1.9.10~rc1/src/Selmulti.cc:706: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).
  size_t lenstr = strlen(str);
data/cdo-1.9.10~rc1/src/Selmulti.cc:724: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).
      if (strlen(strToParsePtr) > 0) tpEnd = findTupleEnd(strToParsePtr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:733: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).
          if (strlen(strToParsePtr) <= MAX_LINE_LEN) strcpy(line, strToParsePtr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:762:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(first3chars, filenameOrString, 3);
data/cdo-1.9.10~rc1/src/Selmulti.cc:772:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(strToParse, filenameOrString, MAX_LINE_LEN - 1);
data/cdo-1.9.10~rc1/src/Selmulti.cc:775:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int strLn = strlen(strToParsePtr);
data/cdo-1.9.10~rc1/src/Selmulti.cc:822:41:  [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).
          while ((pline != nullptr) && (strlen(pline) != 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:833: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).
                  while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:858: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).
                  while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:892: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).
                  while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:921: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).
                  while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:944: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).
                  while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:995:41:  [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).
          while ((pline != nullptr) && (strlen(pline) != 0) && (pline[0] != ')'))
data/cdo-1.9.10~rc1/src/Selmulti.cc:1003: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).
                while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:1030: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).
                while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:1067: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).
                while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:1155: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).
                while ((pline != parEnd) && (strlen(pline) > 0))
data/cdo-1.9.10~rc1/src/Selmulti.cc:1200:7:  [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(strval, "(");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1211:13:  [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(strval, "/");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1213:13:  [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(strval, ";");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1220:13:  [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(strval, "/");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1222:13:  [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(strval, ";");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1229:13:  [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(strval, "/");
data/cdo-1.9.10~rc1/src/Selmulti.cc:1231:13:  [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(strval, ")");
data/cdo-1.9.10~rc1/src/Setgatt.cc:70:57:  [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).
      cdiDefAttTxt(vlistID2, CDI_GLOBAL, attname, (int) strlen(attstring), attstring);
data/cdo-1.9.10~rc1/src/Setgatt.cc:98:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              attlen = strlen(attstring);
data/cdo-1.9.10~rc1/src/Setgrid.cc:213:68:  [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).
          cdiDefAttTxt(gridID2, CDI_GLOBAL, "proj4_params", (int) (strlen(projparams)), projparams);
data/cdo-1.9.10~rc1/src/Settime.cc:46: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).
  const size_t len = strlen(unit);
data/cdo-1.9.10~rc1/src/Setzaxis.cc:39: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).
  size_t keylen = strlen(p_key);
data/cdo-1.9.10~rc1/src/Showinfo.cc:189: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).
          if (strlen(varunits)) fprintf(stdout, " %s", varunits);
data/cdo-1.9.10~rc1/src/Sinfo.cc:42: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).
  const auto len = strlen(string);
data/cdo-1.9.10~rc1/src/Sinfo.cc:133:24:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          if (instptr) strncpy(tmpname, instptr, CDI_MAX_NAME - 1);
data/cdo-1.9.10~rc1/src/Sinfo.cc:140:25:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          if (modelptr) strncpy(tmpname, modelptr, CDI_MAX_NAME - 1);
data/cdo-1.9.10~rc1/src/Split.cc:102: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).
      nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Splitrec.cc: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).
  int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Splitsel.cc:81: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).
  const auto nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Splittime.cc:111: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).
  const int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Splityear.cc:74: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).
  const int nchars = strlen(filename);
data/cdo-1.9.10~rc1/src/Splityear.cc:151: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).
              if (ic > 0) sprintf(filename + strlen(filename), "_%d", ic + 1);
data/cdo-1.9.10~rc1/src/Splityear.cc:152: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).
              if (filesuffix[0]) sprintf(filename + strlen(filename), "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Splityear.cc:175: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).
              if (filesuffix[0]) sprintf(filename + strlen(filename), "%s", filesuffix);
data/cdo-1.9.10~rc1/src/Timstat.cc:102: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).
  if (freq) cdiDefAttTxt(vlistID, CDI_GLOBAL, "frequency", (int) strlen(freq), freq);
data/cdo-1.9.10~rc1/src/Timstat.cc:246:7:  [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(filename, "_");
data/cdo-1.9.10~rc1/src/XTimstat.cc:173: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).
  if (freq) cdiDefAttTxt(vlistID, CDI_GLOBAL, "frequency", (int) strlen(freq), freq);
data/cdo-1.9.10~rc1/src/XTimstat.cc:288:7:  [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(filename, "_");
data/cdo-1.9.10~rc1/src/after_namelist.cc:23: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).
  int nm = static_cast<int>(strlen(msr));
data/cdo-1.9.10~rc1/src/after_namelist.cc:24: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).
  int ns = static_cast<int>(strlen(sub));
data/cdo-1.9.10~rc1/src/cdo.cc:168: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).
  if (arg != 0 && (int) strlen(arg) > 0 && arg[0] != ',') Options::CDO_flt_digits = (int) strtol(arg, &ptr1, 10);
data/cdo-1.9.10~rc1/src/cdo.cc:629: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).
  const size_t len = strlen(arg);
data/cdo-1.9.10~rc1/src/cdo.cc:748:11:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
          strncat(cdo::File_Suffix, envstr, sizeof(cdo::File_Suffix) - 1);
data/cdo-1.9.10~rc1/src/cdo.cc:938: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).
      const int len = (int) strlen(intstring);
data/cdo-1.9.10~rc1/src/cdo_apply.cc:110:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (p_argv[0].compare(0, strlen("-apply,"), "-apply,") == 0)
data/cdo-1.9.10~rc1/src/cdo_cdi_wrapper.cc:57: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).
  size_t len = strlen(datatypestr);
data/cdo-1.9.10~rc1/src/cdo_getopt.cc:36:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  int optstrlen = strlen(optstring);
data/cdo-1.9.10~rc1/src/cdo_getopt.cc:195:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        current_argv_len = strlen(current_argv);
data/cdo-1.9.10~rc1/src/cdo_getopt.cc:201: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).
          if (strlen(longopts[i].name) == (unsigned) current_argv_len)
data/cdo-1.9.10~rc1/src/cdo_history.cc:46: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(strtime) == 0) init_strtime();
data/cdo-1.9.10~rc1/src/cdo_history.cc:72: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).
          ghistorysize = strlen(ghistory.data());
data/cdo-1.9.10~rc1/src/cdo_history.cc:92: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).
  cdiDefAttTxt(vlistID, CDI_GLOBAL, historyAttrName, strlen(history.c_str()), history.c_str());
data/cdo-1.9.10~rc1/src/cdo_history.cc:98: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(datetimestr) == 0) init_strtime();
data/cdo-1.9.10~rc1/src/cdo_history.cc:99:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  cdiDefAttTxt(vlistID, CDI_GLOBAL, "creation_date", (int) strlen(datetimestr), datetimestr);
data/cdo-1.9.10~rc1/src/cdo_output.cc:214: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).
      usr_rpl_lng = strlen(usr_rpl);
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:82: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).
      const auto namelen = (pend == nullptr) ? strlen(pname) : (size_t)(pend - pname);
data/cdo-1.9.10~rc1/src/cdo_zaxis.cc:341:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const auto len = strlen(units);
data/cdo-1.9.10~rc1/src/cdotest.cc:212: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).
  char *cdo_command = (char *) Malloc(strlen(cdoPath) + strlen(argument) + 8);
data/cdo-1.9.10~rc1/src/cdotest.cc:212:57:  [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 *cdo_command = (char *) Malloc(strlen(cdoPath) + strlen(argument) + 8);
data/cdo-1.9.10~rc1/src/cfortran.h:636: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).
  e = s + strlen(s);
data/cdo-1.9.10~rc1/src/cfortran.h:2097: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).
  (B.clen = strlen(A), B.f.dsc$a_pointer = A,          \
data/cdo-1.9.10~rc1/src/cfortran.h:2104: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).
                            ? B.dsc$w_length = strlen(A)                    \
data/cdo-1.9.10~rc1/src/cfortran.h:2105: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).
                            : (A[C - 1] = '\0', B.dsc$w_length = strlen(A), \
data/cdo-1.9.10~rc1/src/cfortran.h:2109: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).
  (B.nombre = A, B.clen = (unsigned) strlen(A),        \
data/cdo-1.9.10~rc1/src/cfortran.h:2114:30:  [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).
  (C == sizeof(char *) ? B = strlen(A) : (A[C - 1] = '\0', B = strlen(A), memset((A) + B, ' ', C - B - 1), B = C - 1));
data/cdo-1.9.10~rc1/src/cfortran.h:2114:64:  [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).
  (C == sizeof(char *) ? B = strlen(A) : (A[C - 1] = '\0', B = strlen(A), memset((A) + B, ' ', C - B - 1), B = C - 1));
data/cdo-1.9.10~rc1/src/cfortran.h:2518:30:  [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 (B) memcpy(A, B, _cfMIN(strlen(B), D)), (D > strlen(B) ? memset(A + strlen(B), ' ', D - strlen(B)) : 0), _cf_free(B);
data/cdo-1.9.10~rc1/src/cfortran.h:2518:51:  [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 (B) memcpy(A, B, _cfMIN(strlen(B), D)), (D > strlen(B) ? memset(A + strlen(B), ' ', D - strlen(B)) : 0), _cf_free(B);
data/cdo-1.9.10~rc1/src/cfortran.h:2518:74:  [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 (B) memcpy(A, B, _cfMIN(strlen(B), D)), (D > strlen(B) ? memset(A + strlen(B), ' ', D - strlen(B)) : 0), _cf_free(B);
data/cdo-1.9.10~rc1/src/cfortran.h:2518:94:  [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 (B) memcpy(A, B, _cfMIN(strlen(B), D)), (D > strlen(B) ? memset(A + strlen(B), ' ', D - strlen(B)) : 0), _cf_free(B);
data/cdo-1.9.10~rc1/src/cfortran.h:2626:76:  [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).
  memcpy(AS->dsc$a_pointer, A0, _cfMIN(AS->dsc$w_length, (A0 == NULL ? 0 : strlen(A0))));                                \
data/cdo-1.9.10~rc1/src/cfortran.h:2627: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).
  AS->dsc$w_length > (A0 == NULL ? 0 : strlen(A0))                                                                       \
data/cdo-1.9.10~rc1/src/cfortran.h:2628: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).
      ? memset(AS->dsc$a_pointer + (A0 == NULL ? 0 : strlen(A0)), ' ', AS->dsc$w_length - (A0 == NULL ? 0 : strlen(A0))) \
data/cdo-1.9.10~rc1/src/cfortran.h:2628:109:  [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).
      ? memset(AS->dsc$a_pointer + (A0 == NULL ? 0 : strlen(A0)), ' ', AS->dsc$w_length - (A0 == NULL ? 0 : strlen(A0))) \
data/cdo-1.9.10~rc1/src/cfortran.h:2633: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).
  memcpy(_fcdtocp(AS), A0, _cfMIN(_fcdlen(AS), (A0 == NULL ? 0 : strlen(A0))));                                \
data/cdo-1.9.10~rc1/src/cfortran.h:2634:35:  [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).
  _fcdlen(AS) > (A0 == NULL ? 0 : strlen(A0))                                                                  \
data/cdo-1.9.10~rc1/src/cfortran.h:2635:49:  [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).
      ? memset(_fcdtocp(AS) + (A0 == NULL ? 0 : strlen(A0)), ' ', _fcdlen(AS) - (A0 == NULL ? 0 : strlen(A0))) \
data/cdo-1.9.10~rc1/src/cfortran.h:2635:99:  [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).
      ? memset(_fcdtocp(AS) + (A0 == NULL ? 0 : strlen(A0)), ' ', _fcdlen(AS) - (A0 == NULL ? 0 : strlen(A0))) \
data/cdo-1.9.10~rc1/src/cfortran.h:2639: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).
  memcpy(AS, A0, _cfMIN(D0, (A0 == NULL ? 0 : strlen(A0)))); \
data/cdo-1.9.10~rc1/src/cfortran.h:2640: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).
  D0 > (A0 == NULL ? 0 : strlen(A0)) ? memset(AS + (A0 == NULL ? 0 : strlen(A0)), ' ', D0 - (A0 == NULL ? 0 : strlen(A0))) : 0;
data/cdo-1.9.10~rc1/src/cfortran.h:2640:70:  [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).
  D0 > (A0 == NULL ? 0 : strlen(A0)) ? memset(AS + (A0 == NULL ? 0 : strlen(A0)), ' ', D0 - (A0 == NULL ? 0 : strlen(A0))) : 0;
data/cdo-1.9.10~rc1/src/cfortran.h:2640:111:  [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).
  D0 > (A0 == NULL ? 0 : strlen(A0)) ? memset(AS + (A0 == NULL ? 0 : strlen(A0)), ' ', D0 - (A0 == NULL ? 0 : strlen(A0))) : 0;
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:75: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).
  const auto len = strlen(pline);
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:79:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(name, pline, pos);
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:90: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).
  auto len = strlen(pline);
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:127: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).
        if (strncmp(pline, listentry[ientry], strlen(listentry[ientry])) == 0) break;
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:131: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).
          pline += strlen(listentry[ientry]);
data/cdo-1.9.10~rc1/src/cmortable_parser.cc:337:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (listBuffer.read(fp, name)) cdoAbort("Read error on CMOR table %s!", name);
data/cdo-1.9.10~rc1/src/color.cc:290: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).
      c = line[strlen(line) - 2];
data/cdo-1.9.10~rc1/src/color.cc:299:35:  [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 (cpt->lut[n].annot) line[strlen(line) - 2] = '\0';
data/cdo-1.9.10~rc1/src/commandline.cc:31: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).
  for (int iarg = 0; iarg < gargc; iarg++) maxlen += strlen(gargv[iarg]) + 1;
data/cdo-1.9.10~rc1/src/commandline.cc:50:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      const auto len = strlen(pargv);
data/cdo-1.9.10~rc1/src/compare.h:56:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return strncmp(lhs, rhs, strlen(rhs)) == 0;
data/cdo-1.9.10~rc1/src/compare.h:62:34:  [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 strncmp(lhs, rhs, len = strlen(rhs)) == 0;
data/cdo-1.9.10~rc1/src/expr.cc:1238: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).
  const size_t len = 3 + strlen(p1->u.var.nm);
data/cdo-1.9.10~rc1/src/expr.cc:1425: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).
  const size_t len = strlen(string);
data/cdo-1.9.10~rc1/src/expr.cc:1775:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            const size_t len = strlen(vnm);
data/cdo-1.9.10~rc1/src/expr_lex.cc:646:40:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      for (n = 0; n < max_size && (c = getc(yyin)) != EOF && c != '\n'; ++n) buf[n] = (char) c; \
data/cdo-1.9.10~rc1/src/expr_lex.cc:1648:91:  [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).
yy_scan_string(const char *yystr, yyscan_t yyscanner) { return yy_scan_bytes(yystr, (int) strlen(yystr), yyscanner); }
data/cdo-1.9.10~rc1/src/expr_yacc.cc:706: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).
#define yystrlen strlen
data/cdo-1.9.10~rc1/src/fileStream.cc:147:78:  [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 (Options::VersionInfo) cdiDefAttTxt(p_vlistID, CDI_GLOBAL, "CDO", (int) strlen(cdoComment()), cdoComment());
data/cdo-1.9.10~rc1/src/getRSS.c:55:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if ( read( fd, &psinfo, sizeof(psinfo) ) != sizeof(psinfo) )
data/cdo-1.9.10~rc1/src/grid_print.cc:483:30:  [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 (uuidStr[0] != 0 && strlen(uuidStr) == 36) fprintf(fp, "uuid      = %s\n", uuidStr);
data/cdo-1.9.10~rc1/src/grid_read_pingo.cc:37:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        c = fgetc(gfp);
data/cdo-1.9.10~rc1/src/grid_read_pingo.cc:43:43:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        while (c != '\n' && c != EOF) c = fgetc(gfp);
data/cdo-1.9.10~rc1/src/griddes.cc:53:50:  [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).
      const size_t namelen = (pend == nullptr) ? strlen(pname) : pend - pname;
data/cdo-1.9.10~rc1/src/griddes.cc:397: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).
  auto len = strlen(pgridfile);
data/cdo-1.9.10~rc1/src/griddes.cc:444:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read(fileno, buffer, 4) != 4) cdoSysError("Read grid from %s failed!", filename);
data/cdo-1.9.10~rc1/src/griddes_nc.cc:236: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).
  len = strlen(gridfile);
data/cdo-1.9.10~rc1/src/griddes_nc.cc:240:85:  [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 (Options::VersionInfo) nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "CDO", (int) strlen(cdoComment()) + 1, cdoComment()));
data/cdo-1.9.10~rc1/src/griddes_nc.cc:279:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, nc_gridlat_id, "units", strlen(units), units));
data/cdo-1.9.10~rc1/src/griddes_nc.cc:286:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, nc_gridlon_id, "units", strlen(units), units));
data/cdo-1.9.10~rc1/src/griddes_nc.cc:314:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, nc_gridclat_id, "units", strlen(units), units));
data/cdo-1.9.10~rc1/src/griddes_nc.cc:320:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, nc_gridclon_id, "units", strlen(units), units));
data/cdo-1.9.10~rc1/src/gridreference.cc:305:11:  [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(griddir, "/");
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1494: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).
              len = strlen(ens->name);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1601: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).
      reclen = (int) strlen(rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:1609: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).
      for (ichar = (int) strlen(rec) - 1; ichar >= 0; --ichar)
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2034:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              reclen = strlen(rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2042:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              for (ichar = strlen(rec) - 1; ichar >= 0; --ichar)
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2192: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).
          reclen = strlen(rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2200:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          for (ichar = strlen(rec) - 1; ichar >= 0; --ichar)
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2235:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              reclen = strlen(rec);
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2243:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              for (ichar = strlen(rec) - 1; ichar >= 0; --ichar)
data/cdo-1.9.10~rc1/src/lib/gradsdes/gradsdes.c:2297:7:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
      sprintf(ens->name, "1");
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:230: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_size = strlen(name) + 1 + 1 + 1;
data/cdo-1.9.10~rc1/src/lib/yac/grid_cell.c:247: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).
      out_size += strlen(buffer);
data/cdo-1.9.10~rc1/src/listbuffer.h:35:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(FILE *fp, const char *_name)
data/cdo-1.9.10~rc1/src/mapping.cc:48:81:  [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 (name[0] != 0) cdiDefAttTxt(vlistID, varID, "original_name", (int) strlen(name), parameter2word(name));
data/cdo-1.9.10~rc1/src/mapping.cc:54:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        cdiDefAttTxt(vlistID, varID, "cell_methods", (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:56: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).
        cdiDefAttTxt(vlistID, varID, "character_axis", (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:58: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).
        cdiDefAttTxt(vlistID, varID, "z_axis", (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:60:64:  [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).
        cdiDefAttTxt(vlistID, varID, "variable_comment", (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:63:82:  [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 (!isspace(value[0])) cdiDefAttTxt(vlistID, varID, "positive", (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:85:67:  [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).
              cdiDefAttTxt(vlistID, varID, "original_name", (int) strlen(var->name), var->name);
data/cdo-1.9.10~rc1/src/mapping.cc:99:57:  [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).
        cdiDefAttTxt(vlistID, varID, key.c_str(), (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:102:57:  [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).
        cdiDefAttTxt(vlistID, varID, key.c_str(), (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/mapping.cc:104:57:  [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).
        cdiDefAttTxt(vlistID, varID, key.c_str(), (int) strlen(value), value);
data/cdo-1.9.10~rc1/src/modules.cc:70:87:  [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).
      const auto len = (commapos != nullptr) ? (size_t)(commapos - operatorCommand) : strlen(operatorCommand);
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc:477:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int) strlen(projection), projection);
data/cdo-1.9.10~rc1/src/mpim_grid/grid_proj.cc:488:63:  [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).
  cdiDefAttTxt(gridID, CDI_GLOBAL, "grid_mapping_name", (int) strlen(projection), projection);
data/cdo-1.9.10~rc1/src/mpim_grid/mpim_grid.cc:843: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).
  const auto len = strlen(units);
data/cdo-1.9.10~rc1/src/mpmo.h:75: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).
  size_t len = strlen(p_func);
data/cdo-1.9.10~rc1/src/param_conversion.cc:20: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).
  const auto len = strlen(cstring);
data/cdo-1.9.10~rc1/src/param_conversion.cc:209: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).
  assert(strlen(smons) == (sizeof(imons) / sizeof(int)));
data/cdo-1.9.10~rc1/src/param_conversion.cc:211: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).
  const auto len = strlen(season);
data/cdo-1.9.10~rc1/src/param_conversion.cc:242: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).
  const auto len = strlen(datestr);
data/cdo-1.9.10~rc1/src/pmlist.cc:221:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  for ( size_t pos = 0; pos < strlen(name); pos++ )
data/cdo-1.9.10~rc1/src/pmlist.cc:338:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (listBuffer.read(fp, name)) cdoAbort("Read error on namelist %s!", name);
data/cdo-1.9.10~rc1/src/printinfo.cc:415:37:  [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 (uuidOfHGridStr[0] != 0 && strlen(uuidOfHGridStr) == 36)
data/cdo-1.9.10~rc1/src/printinfo.cc:557:37:  [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 (uuidOfVGridStr[0] != 0 && strlen(uuidOfVGridStr) == 36)
data/cdo-1.9.10~rc1/src/processManager.cc:175: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(p_argvEntry) != 1)
data/cdo-1.9.10~rc1/src/readline.cc:28:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while ((ichar = fgetc(fp)) != EOF)
data/cdo-1.9.10~rc1/src/readline.cc:32:24:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          if ((ichar = fgetc(fp)) != EOF)
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:199:55:  [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).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "title", strlen(map_name), map_name));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:202:63:  [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).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "normalization", strlen(normalize_opt), normalize_opt));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:205:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "map_method", strlen(map_method), map_method));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:213:61:  [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).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "conventions", strlen(tmp_string), tmp_string));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:217:61:  [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).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "source_grid", strlen(src_grid_name), src_grid_name));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:220:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "dest_grid", strlen(tgt_grid_name), tgt_grid_name));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:230:61:  [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).
      nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "history", strlen(history), history));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:233:85:  [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 (Options::VersionInfo) nce(nc_put_att_text(nc_file_id, NC_GLOBAL, "CDO", (int) strlen(cdoComment()) + 1, cdoComment()));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:298:65:  [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).
  nce(nc_put_att_text(nc_file_id, nc_srcgrdcntrlat_id, "units", strlen(src_grid_units), src_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:299:65:  [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).
  nce(nc_put_att_text(nc_file_id, nc_dstgrdcntrlat_id, "units", strlen(tgt_grid_units), tgt_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:300:65:  [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).
  nce(nc_put_att_text(nc_file_id, nc_srcgrdcntrlon_id, "units", strlen(src_grid_units), src_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:301:65:  [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).
  nce(nc_put_att_text(nc_file_id, nc_dstgrdcntrlon_id, "units", strlen(tgt_grid_units), tgt_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:304:69:  [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).
      nce(nc_put_att_text(nc_file_id, nc_srcgrdcrnrlat_id, "units", strlen(src_grid_units), src_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:305:69:  [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).
      nce(nc_put_att_text(nc_file_id, nc_srcgrdcrnrlon_id, "units", strlen(src_grid_units), src_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:309:69:  [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).
      nce(nc_put_att_text(nc_file_id, nc_dstgrdcrnrlat_id, "units", strlen(tgt_grid_units), tgt_grid_units));
data/cdo-1.9.10~rc1/src/remap_scrip_io.cc:310:69:  [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).
      nce(nc_put_att_text(nc_file_id, nc_dstgrdcrnrlon_id, "units", strlen(tgt_grid_units), tgt_grid_units));
data/cdo-1.9.10~rc1/src/sellist.cc:243:11:  [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(wcdate, "*");
data/cdo-1.9.10~rc1/src/string_utilities.cc:44: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).
  str_len = strlen(source_string);
data/cdo-1.9.10~rc1/src/table.cc:40:11:  [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(tablefile, "/");
data/cdo-1.9.10~rc1/src/util_fileextensions.cc:38: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).
  size_t namelen = strlen(file);
data/cdo-1.9.10~rc1/src/util_fileextensions.cc:40: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).
  size_t extlen = strlen(ext);
data/cdo-1.9.10~rc1/src/util_files.cc:47: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).
      const int len = (int) strlen(pline);
data/cdo-1.9.10~rc1/src/util_files.cc:90:92:  [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 (refname != nullptr && *refname != 0 && *refname != '-' && *refname != '.') len = strlen(refname);
data/cdo-1.9.10~rc1/src/util_files.cc:122:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (lready && ((len = strlen(result)) < (maxlen - 1)))
data/cdo-1.9.10~rc1/src/util_files.cc:126:59:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
                  if (*result == '.' || isalnum(*result)) strncat(filesuffix, result, 1);
data/cdo-1.9.10~rc1/src/util_files.cc:135:7:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
      strncat(filesuffix, streamFilesuffix(CdoDefault::FileType), maxlen - 1);
data/cdo-1.9.10~rc1/src/util_files.cc:140:16:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings. Risk is low because the source is a
  constant string.
  if (lcompsz) strncat(filesuffix, ".sz", maxlen - 1);
data/cdo-1.9.10~rc1/src/util_files.cc:150:11:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
          strncat(filesuffix, cdo::File_Suffix, maxlen - 1);
data/cdo-1.9.10~rc1/src/util_wildcards.cc:85: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).
  if (find_wildcard(string, strlen(string)))
data/cdo-1.9.10~rc1/src/zaxis_print.cc:128:34:  [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 (uuidStr[0] != 0 && strlen(uuidStr) == 36) fprintf(fp, "uuid      = %s\n", uuidStr);

ANALYSIS SUMMARY:

Hits = 3213
Lines analyzed = 347338 in approximately 9.28 seconds (37438 lines/second)
Physical Source Lines of Code (SLOC) = 253613
Hits@level = [0] 3968 [1] 750 [2] 1925 [3] 143 [4] 395 [5]   0
Hits@level+ = [0+] 7181 [1+] 3213 [2+] 2463 [3+] 538 [4+] 395 [5+]   0
Hits/KSLOC@level+ = [0+] 28.3148 [1+] 12.6689 [2+] 9.71165 [3+] 2.12134 [4+] 1.55749 [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.