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/opencpn-5.2.4+dfsg/cmake/dummy.c
Examining data/opencpn-5.2.4+dfsg/libs/sqlite/include/sqlite3.h
Examining data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/include/mipmap/mipmap.h
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap.c
Examining data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/gdal.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_vsi.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_odbc.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_multiproc.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_core.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_geometry.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_conv.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_minixml.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_error.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/gdal_frmts.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_p.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_feature.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogrsf_frmts.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_list.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_port.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/gdal_priv.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_string.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_api.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_spatialref.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/ogr_attrind.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_config.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_csv.h
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfielddefn.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeaturedefn.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cplgetsymbol.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_findfile.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometry.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlayer.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrcurve.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometryfactory.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ograssemblepolygon.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp
Examining data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/KHR/khrplatform.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/gl_mangle.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/gl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glu.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glx_mangle.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/internal/dri_interface.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glu_mangle.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glx.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl3.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glplatform.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl3ext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2ext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/egl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2platform.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl3platform.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/EGL/eglext.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/EGL/egl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/include/EGL/eglplatform.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/config.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/host/host.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/host/host.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/glx.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/glx.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/lookup.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/preload/preload.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/eval.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/light.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/line.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texture.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/const.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/line.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gles.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gl.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gl.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gles2.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/glstub.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/stub.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/es.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gles2.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/gles.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texgen.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texture.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/math/eval.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/math/eval.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texgen.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/light.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/defines.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/raster.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/state.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/eval.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/raster.c
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/util/khash.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/config.h
Examining data/opencpn-5.2.4+dfsg/libs/glshim/src/tests/main.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/registry.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/error.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/project.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/glue.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/quad.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/gluint.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/render.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/dict-list.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/tess.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/sweep.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/tess.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/priorityq-heap.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/dict.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/tessmono.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/dict.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/memalloc.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/normal.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/mesh.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/memalloc.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/priorityq-sort.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/render.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/geom.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/normal.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/priorityq.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/sweep.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/priorityq.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/geom.c
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/tessmono.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/priorityq-heap.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/libtess/mesh.h
Examining data/opencpn-5.2.4+dfsg/libs/glu/include/gluos.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/CustomArray.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/tesselator.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/StripStdafx.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/Striper.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/Adjacency.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Include/RevisitedRadix.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/tess.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/sweep.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/tess.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/dict.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Adjacency.cpp
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/dict.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/mesh.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/geom.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/priorityq.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/sweep.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/bucketalloc.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/priorityq.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/geom.c
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/mesh.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/bucketalloc.h
Examining data/opencpn-5.2.4+dfsg/libs/libtess2/Source/RevisitedRadix.cpp
Examining data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h
Examining data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdg.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/RMB.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/response.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdt.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/rmb.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/long.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdg.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gsv.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gll.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/lat.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/mwv.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/apb.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdm.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/Response.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/xte.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gga.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/LatLong.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gsv.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/nmea0183.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/vtg.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/rte.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/GPwpl.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gga.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hexvalue.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/wpl.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/nmea0183.h
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/mwd.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdt.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/vtg.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/hdm.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/talkerid.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/wpl.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/GPwpl.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/nmea0183.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/Sentence.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/xte.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/sentence.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/expid.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/rte.hpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/rmc.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/apb.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/mwv.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/latlong.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/mwd.cpp
Examining data/opencpn-5.2.4+dfsg/libs/nmea0183/src/gll.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/mdnsd.c
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/wxServDisc.h
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/mdnsd.h
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/wxServDisc.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.h
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/include/iso8211.h
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecordindex.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfutils.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp
Examining data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffield.cpp
Examining data/opencpn-5.2.4+dfsg/libs/easywsclient/example-client-cpp11.cpp
Examining data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.hpp
Examining data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp
Examining data/opencpn-5.2.4+dfsg/libs/easywsclient/test/easywsclient.t.cpp
Examining data/opencpn-5.2.4+dfsg/libs/easywsclient/example-client.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/SoundFactory.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/SoundLoaderFactory.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/SoundFileLoader.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/OCPN_Sound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/OcpnWxSound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/AndroidSound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/PortAudioSound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/MswSound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/SystemCmdSound.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/include/SndfileSoundLoader.h
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/SoundLoaderFactory.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/MswSound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/AndroidSound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/OCPN_Sound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/OcpnWxSound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/SndfileSoundLoader.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/PortAudioSound.cpp
Examining data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFactory.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/etcpak.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/maths.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourset.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/squish.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/rangefit.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/alpha.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/maths.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/singlecolourfitfast.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/simd.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/squish.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourfit.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/twocolourfitfast.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/singlecolourfit.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/alpha.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/twocolourfitfast.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourblock.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/singlecolourfit.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/simd_ve.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/config.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourblock.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/singlecolourfitfast.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/clusterfit.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/simd_sse.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourfit.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/simd_float.h
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/clusterfit.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/rangefit.cpp
Examining data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourset.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Transaction.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/VariadicBind.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Database.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Backup.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Assertion.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Utils.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Exception.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Statement.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Column.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/SQLiteCpp.h
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Statement.cpp
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Exception.cpp
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Column.cpp
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Backup.cpp
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Transaction.cpp
Examining data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Database.cpp
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbread.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsmath.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbcommon.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbsend.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdatum.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsmem.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpssend.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsrqst.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsproj.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdevice.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsport.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdevice_usb.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbwin.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garminusb.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsfmt.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsrqst.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsread.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsmem.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbint.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpscom.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdevice.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbcommon.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsinput.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpscom.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsmath.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gps_wx_logging.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpssend.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.h
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdevice_ser.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c
Examining data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsread.h
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/jsonval.h
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/jsonreader.h
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/jsonwriter.h
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/json_defs.h
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonval.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/davtool.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/http.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/panel.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/dialog.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/dav.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/base.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/telnet.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/utils.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/ftp.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/thread.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/davtool.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/thread.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/utils.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/ftp.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/http.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/dialog.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/base.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/panel.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/telnet.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/dav.cpp
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/typecheck-gcc.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/stdcheaders.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlver.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/easy.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/multi.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlbuild.h
Examining data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curl.h
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdg.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/RMB.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/response.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdt.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/rmb.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/long.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdg.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gsv.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gll.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/lat.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdm.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/Response.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gga.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/LatLong.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gsv.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/nmea0183.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/vtg.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/rte.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gga.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hexvalue.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/wpl.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/nmea0183.h
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdt.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/vtg.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/hdm.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/talkerid.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/wpl.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/nmea0183.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/Sentence.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/sentence.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/expid.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/rte.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/rmc.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/latlong.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/gll.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/demo_pi.h
Examining data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/demo_pi.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartdldr_pi.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/icons.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/base64.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartdldr_pi.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartdldrgui.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/androidSupport.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/icons.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/checkedlistctrl.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartdldrgui.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/androidSupport.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartcatalog.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugiconfig.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/checkedlistctrl.h
Examining data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartcatalog.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_tmr.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_string.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_init.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_iccdata.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_version.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_malloc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_debug.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_tvp.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_image.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_getopt.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_cm.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2cod.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_fix.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_qmfb.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_cs.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_tagtree.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqcod.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2dec.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqdec.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_qmfb.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_tagtree.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_math.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2enc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_util.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_cs.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_cod.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2dec.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_tsfb.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_util.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mct.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1enc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_math.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_tsfb.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_bs.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1dec.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1cod.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mct.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqcod.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqenc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1dec.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqdec.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_mqenc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_flt.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2cod.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_dec.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_dec.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1cod.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_bs.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t2enc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_t1enc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_enc.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_cod.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_cod.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_dec.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_dec.c
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_version.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_string.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_malloc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_seq.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_init.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_config.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_tmr.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_config2.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_math.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_getopt.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_icc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jasper.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_stream.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_image.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_fix.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_cm.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_types.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_tvp.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_debug.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_shaders.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/icons.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/smapi.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/CursorData.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribUIDialogBase.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribTable.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribReader.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/IsoLine.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/CustomGrid.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribUIDialog.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/msg.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribUIDialog.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/CustomGrid.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonval.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_ocpndc.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_TexFont.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/email.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribTable.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/IsoLine.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRequestDialog.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/version.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_TexFont.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribReader.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/grib_pi.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/icons.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/CursorData.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/grib_pi.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecordSet.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribSettingsDialog.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonval.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/email.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribSettingsDialog.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_shaders.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/pi_ocpndc.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRequestDialog.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GrabberWin.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribUIDialogBase.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/json_defs.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GrabberWin.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/smapi.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.h
Examining data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_shaders.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/icons.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/WmmUIDialog.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/wmm_pi.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/wmm_pi.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonval.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_ocpndc.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_TexFont.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/WmmUIDialog.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_TexFont.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/icons.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/MagneticPlotMap.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonval.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_shaders.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/pi_ocpndc.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/json_defs.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/EGM9615.h
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/MagneticPlotMap.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/jsonval.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/jsonreader.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/jsonwriter.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/json_defs.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/icons.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/dashboard_pi.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/speedometer.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wind_history.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/iirfilter.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/baro_history.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/dial.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/speedometer.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdg.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/RMB.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/response.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/zda.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdt.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/dbt.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rmb.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vwr.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/long.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdg.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/dbt.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gsv.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mtw.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mta.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gll.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/lat.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mwv.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mta.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/SatInfo.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdm.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/Response.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vlw.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/dpt.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vwr.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/xte.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gga.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mda.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rsa.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/LatLong.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gsv.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/nmea0183.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vtg.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/zda.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rte.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/xdr.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gga.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hexvalue.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/wpl.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vwt.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/nmea0183.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mwd.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/xdr.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdt.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vtg.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/hdm.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/talkerid.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vwt.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/wpl.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/nmea0183.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vlw.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/Sentence.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/xte.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/sentence.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rsa.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/expid.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rte.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/dpt.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/rmc.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mwv.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vhw.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mtw.hpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/latlong.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mwd.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/mda.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/gll.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/vhw.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/instrument.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/gps.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/dial.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/rudder_angle.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/from_ownship.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wind.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/icons.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/clock.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/iirfilter.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/depth.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/from_ownship.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/compass.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/baro_history.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/instrument.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonval.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/gps.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/depth.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wind.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wind_history.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/rudder_angle.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/clock.h
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/compass.cpp
Examining data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/dashboard_pi.cpp
Examining data/opencpn-5.2.4+dfsg/include/s57chart.h
Examining data/opencpn-5.2.4+dfsg/include/trackprintout.h
Examining data/opencpn-5.2.4+dfsg/include/NMEALogWindow.h
Examining data/opencpn-5.2.4+dfsg/include/NetworkDataStream.h
Examining data/opencpn-5.2.4+dfsg/include/OCPNListCtrl.h
Examining data/opencpn-5.2.4+dfsg/include/tzdata.h
Examining data/opencpn-5.2.4+dfsg/include/toolbar.h
Examining data/opencpn-5.2.4+dfsg/include/semantic_vers.h
Examining data/opencpn-5.2.4+dfsg/include/chartdbs.h
Examining data/opencpn-5.2.4+dfsg/include/FontMgr.h
Examining data/opencpn-5.2.4+dfsg/include/AboutFrameImpl.h
Examining data/opencpn-5.2.4+dfsg/include/FlexHash.h
Examining data/opencpn-5.2.4+dfsg/include/Select.h
Examining data/opencpn-5.2.4+dfsg/include/OCPN_DataStreamEvent.h
Examining data/opencpn-5.2.4+dfsg/include/ocpn_utils.h
Examining data/opencpn-5.2.4+dfsg/include/androidUTIL.h
Examining data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h
Examining data/opencpn-5.2.4+dfsg/include/canvasMenu.h
Examining data/opencpn-5.2.4+dfsg/include/CanvasConfig.h
Examining data/opencpn-5.2.4+dfsg/include/dychart.h
Examining data/opencpn-5.2.4+dfsg/include/RoutePropDlg.h
Examining data/opencpn-5.2.4+dfsg/include/TC_Error_Code.h
Examining data/opencpn-5.2.4+dfsg/include/about.h
Examining data/opencpn-5.2.4+dfsg/include/cm93.h
Examining data/opencpn-5.2.4+dfsg/include/OCPNPlatform.h
Examining data/opencpn-5.2.4+dfsg/include/viewport.h
Examining data/opencpn-5.2.4+dfsg/include/scrollingdialog.h
Examining data/opencpn-5.2.4+dfsg/include/undo.h
Examining data/opencpn-5.2.4+dfsg/include/crashprint.h
Examining data/opencpn-5.2.4+dfsg/include/chartdb.h
Examining data/opencpn-5.2.4+dfsg/include/AISTargetListDialog.h
Examining data/opencpn-5.2.4+dfsg/include/Route.h
Examining data/opencpn-5.2.4+dfsg/include/ocpn_types.h
Examining data/opencpn-5.2.4+dfsg/include/concanv.h
Examining data/opencpn-5.2.4+dfsg/include/S57ClassRegistrar.h
Examining data/opencpn-5.2.4+dfsg/include/OCP_DataStreamInput_Thread.h
Examining data/opencpn-5.2.4+dfsg/include/GoToPositionDialog.h
Examining data/opencpn-5.2.4+dfsg/include/OCPN_AUIManager.h
Examining data/opencpn-5.2.4+dfsg/include/printtable.h
Examining data/opencpn-5.2.4+dfsg/include/s52utils.h
Examining data/opencpn-5.2.4+dfsg/include/glChartCanvas.h
Examining data/opencpn-5.2.4+dfsg/include/TCDS_Ascii_Harmonic.h
Examining data/opencpn-5.2.4+dfsg/include/chartsymbols.h
Examining data/opencpn-5.2.4+dfsg/include/MarkIcon.h
Examining data/opencpn-5.2.4+dfsg/include/LinkPropDlg.h
Examining data/opencpn-5.2.4+dfsg/include/CanvasOptions.h
Examining data/opencpn-5.2.4+dfsg/include/navutil.h
Examining data/opencpn-5.2.4+dfsg/include/NavObjectCollection.h
Examining data/opencpn-5.2.4+dfsg/include/tcmgr.h
Examining data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp
Examining data/opencpn-5.2.4+dfsg/include/zeroconf.hpp
Examining data/opencpn-5.2.4+dfsg/include/chartbase.h
Examining data/opencpn-5.2.4+dfsg/include/datastream.h
Examining data/opencpn-5.2.4+dfsg/include/catalog_handler.h
Examining data/opencpn-5.2.4+dfsg/include/WindowDestroyListener.h
Examining data/opencpn-5.2.4+dfsg/include/macutils.h
Examining data/opencpn-5.2.4+dfsg/include/S57Sector.h
Examining data/opencpn-5.2.4+dfsg/include/zeroconf-util.hpp
Examining data/opencpn-5.2.4+dfsg/include/IDX_entry.h
Examining data/opencpn-5.2.4+dfsg/include/RoutePoint.h
Examining data/opencpn-5.2.4+dfsg/include/ocpCursor.h
Examining data/opencpn-5.2.4+dfsg/include/s57RegistrarMgr.h
Examining data/opencpn-5.2.4+dfsg/include/Track.h
Examining data/opencpn-5.2.4+dfsg/include/TCDataSource.h
Examining data/opencpn-5.2.4+dfsg/include/Layer.h
Examining data/opencpn-5.2.4+dfsg/include/options.h
Examining data/opencpn-5.2.4+dfsg/include/ConfigMgr.h
Examining data/opencpn-5.2.4+dfsg/include/AISTargetQueryDialog.h
Examining data/opencpn-5.2.4+dfsg/include/TTYWindow.h
Examining data/opencpn-5.2.4+dfsg/include/RolloverWin.h
Examining data/opencpn-5.2.4+dfsg/include/logger.h
Examining data/opencpn-5.2.4+dfsg/include/time_textbox.h
Examining data/opencpn-5.2.4+dfsg/include/ChartDataInputStream.h
Examining data/opencpn-5.2.4+dfsg/include/ConnectionParams.h
Examining data/opencpn-5.2.4+dfsg/include/s52s57.h
Examining data/opencpn-5.2.4+dfsg/include/AIS_Decoder.h
Examining data/opencpn-5.2.4+dfsg/include/shaders.h
Examining data/opencpn-5.2.4+dfsg/include/safe_mode.h
Examining data/opencpn-5.2.4+dfsg/include/TexFont.h
Examining data/opencpn-5.2.4+dfsg/include/TrackPropDlg.h
Examining data/opencpn-5.2.4+dfsg/include/Downloader.h
Examining data/opencpn-5.2.4+dfsg/include/SencManager.h
Examining data/opencpn-5.2.4+dfsg/include/wx28compat.h
Examining data/opencpn-5.2.4+dfsg/include/TTYScroll.h
Examining data/opencpn-5.2.4+dfsg/include/georef.h
Examining data/opencpn-5.2.4+dfsg/include/pluginmanager.h
Examining data/opencpn-5.2.4+dfsg/include/DepthFont.h
Examining data/opencpn-5.2.4+dfsg/include/routemanagerdialog.h
Examining data/opencpn-5.2.4+dfsg/include/DetailSlider.h
Examining data/opencpn-5.2.4+dfsg/include/tide_time.h
Examining data/opencpn-5.2.4+dfsg/include/thumbwin.h
Examining data/opencpn-5.2.4+dfsg/include/TCDS_Binary_Harmonic.h
Examining data/opencpn-5.2.4+dfsg/include/SerialDataStream.h
Examining data/opencpn-5.2.4+dfsg/include/mbtiles.h
Examining data/opencpn-5.2.4+dfsg/include/timers.h
Examining data/opencpn-5.2.4+dfsg/include/glTextureDescriptor.h
Examining data/opencpn-5.2.4+dfsg/include/ais.h
Examining data/opencpn-5.2.4+dfsg/include/bbox.h
Examining data/opencpn-5.2.4+dfsg/include/S57ObjectDesc.h
Examining data/opencpn-5.2.4+dfsg/include/linmath.h
Examining data/opencpn-5.2.4+dfsg/include/glTexCache.h
Examining data/opencpn-5.2.4+dfsg/include/wificlient.h
Examining data/opencpn-5.2.4+dfsg/include/FontDesc.h
Examining data/opencpn-5.2.4+dfsg/include/S57QueryDialog.h
Examining data/opencpn-5.2.4+dfsg/include/chartimg.h
Examining data/opencpn-5.2.4+dfsg/include/compass.h
Examining data/opencpn-5.2.4+dfsg/include/S57Light.h
Examining data/opencpn-5.2.4+dfsg/include/TCWin.h
Examining data/opencpn-5.2.4+dfsg/include/catalog_parser.h
Examining data/opencpn-5.2.4+dfsg/include/SendToGpsDlg.h
Examining data/opencpn-5.2.4+dfsg/include/piano.h
Examining data/opencpn-5.2.4+dfsg/include/ogr_s57.h
Examining data/opencpn-5.2.4+dfsg/include/GarminProtocolHandler.h
Examining data/opencpn-5.2.4+dfsg/include/routeman.h
Examining data/opencpn-5.2.4+dfsg/include/routeprintout.h
Examining data/opencpn-5.2.4+dfsg/include/GL/gl.h
Examining data/opencpn-5.2.4+dfsg/include/GL/glu.h
Examining data/opencpn-5.2.4+dfsg/include/GL/glext.h
Examining data/opencpn-5.2.4+dfsg/include/GL/gl_private.h
Examining data/opencpn-5.2.4+dfsg/include/ChInfoWin.h
Examining data/opencpn-5.2.4+dfsg/include/OCPNRegion.h
Examining data/opencpn-5.2.4+dfsg/include/AIS_Bitstring.h
Examining data/opencpn-5.2.4+dfsg/include/chart1.h
Examining data/opencpn-5.2.4+dfsg/include/ocpndc.h
Examining data/opencpn-5.2.4+dfsg/include/Quilt.h
Examining data/opencpn-5.2.4+dfsg/include/TCDataFactory.h
Examining data/opencpn-5.2.4+dfsg/include/PluginPaths.h
Examining data/opencpn-5.2.4+dfsg/include/download_mgr.h
Examining data/opencpn-5.2.4+dfsg/include/MarkInfo.h
Examining data/opencpn-5.2.4+dfsg/include/ocpn_pixel.h
Examining data/opencpn-5.2.4+dfsg/include/multiplexer.h
Examining data/opencpn-5.2.4+dfsg/include/iENCToolbar.h
Examining data/opencpn-5.2.4+dfsg/include/s57.h
Examining data/opencpn-5.2.4+dfsg/include/OCPN_SignalKEvent.h
Examining data/opencpn-5.2.4+dfsg/include/SignalKDataStream.h
Examining data/opencpn-5.2.4+dfsg/include/SelectItem.h
Examining data/opencpn-5.2.4+dfsg/include/SignalKEventHandler.h
Examining data/opencpn-5.2.4+dfsg/include/mygeom.h
Examining data/opencpn-5.2.4+dfsg/include/pugiconfig.hpp
Examining data/opencpn-5.2.4+dfsg/include/styles.h
Examining data/opencpn-5.2.4+dfsg/include/AboutFrame.h
Examining data/opencpn-5.2.4+dfsg/include/Hyperlink.h
Examining data/opencpn-5.2.4+dfsg/include/LLRegion.h
Examining data/opencpn-5.2.4+dfsg/include/s57mgr.h
Examining data/opencpn-5.2.4+dfsg/include/pugixml.hpp
Examining data/opencpn-5.2.4+dfsg/include/chcanv.h
Examining data/opencpn-5.2.4+dfsg/include/glTextureManager.h
Examining data/opencpn-5.2.4+dfsg/include/update_mgr.h
Examining data/opencpn-5.2.4+dfsg/include/gshhs.h
Examining data/opencpn-5.2.4+dfsg/include/s52plib.h
Examining data/opencpn-5.2.4+dfsg/include/ocpn_plugin.h
Examining data/opencpn-5.2.4+dfsg/include/Osenc.h
Examining data/opencpn-5.2.4+dfsg/include/AISTargetAlertDialog.h
Examining data/opencpn-5.2.4+dfsg/include/PositionParser.h
Examining data/opencpn-5.2.4+dfsg/include/PluginHandler.h
Examining data/opencpn-5.2.4+dfsg/include/emboss_data.h
Examining data/opencpn-5.2.4+dfsg/include/RoutePropDlgImpl.h
Examining data/opencpn-5.2.4+dfsg/include/MUIBar.h
Examining data/opencpn-5.2.4+dfsg/include/catalog_mgr.h
Examining data/opencpn-5.2.4+dfsg/include/cutil.h
Examining data/opencpn-5.2.4+dfsg/include/dsPortType.h
Examining data/opencpn-5.2.4+dfsg/include/Station_Data.h
Examining data/opencpn-5.2.4+dfsg/include/geodesic.h
Examining data/opencpn-5.2.4+dfsg/include/kml.h
Examining data/opencpn-5.2.4+dfsg/include/vector2D.h
Examining data/opencpn-5.2.4+dfsg/src/compasswin.cpp
Examining data/opencpn-5.2.4+dfsg/src/TCDataSource.cpp
Examining data/opencpn-5.2.4+dfsg/src/gshhs.cpp
Examining data/opencpn-5.2.4+dfsg/src/PluginPaths.cpp
Examining data/opencpn-5.2.4+dfsg/src/canvasMenu.cpp
Examining data/opencpn-5.2.4+dfsg/src/TexFont.cpp
Examining data/opencpn-5.2.4+dfsg/src/routemanagerdialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/about.cpp
Examining data/opencpn-5.2.4+dfsg/src/Quilt.cpp
Examining data/opencpn-5.2.4+dfsg/src/LLRegion.cpp
Examining data/opencpn-5.2.4+dfsg/src/Downloader.cpp
Examining data/opencpn-5.2.4+dfsg/src/Station_Data.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57chart.cpp
Examining data/opencpn-5.2.4+dfsg/src/AboutFrame.cpp
Examining data/opencpn-5.2.4+dfsg/src/concanv.cpp
Examining data/opencpn-5.2.4+dfsg/src/ChartDataInputStream.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp
Examining data/opencpn-5.2.4+dfsg/src/RoutePoint.cpp
Examining data/opencpn-5.2.4+dfsg/src/Hyperlink.cpp
Examining data/opencpn-5.2.4+dfsg/src/Select.cpp
Examining data/opencpn-5.2.4+dfsg/src/CanvasOptions.cpp
Examining data/opencpn-5.2.4+dfsg/src/testvers.cpp
Examining data/opencpn-5.2.4+dfsg/src/update_mgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/FontMgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/ais.cpp
Examining data/opencpn-5.2.4+dfsg/src/S57QueryDialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/safe_mode.cpp
Examining data/opencpn-5.2.4+dfsg/src/cutil.cpp
Examining data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp
Examining data/opencpn-5.2.4+dfsg/src/Layer.cpp
Examining data/opencpn-5.2.4+dfsg/src/thumbwin.cpp
Examining data/opencpn-5.2.4+dfsg/src/ChInfoWin.cpp
Examining data/opencpn-5.2.4+dfsg/src/RoutePropDlgImpl.cpp
Examining data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp
Examining data/opencpn-5.2.4+dfsg/src/catalog_parser.cpp
Examining data/opencpn-5.2.4+dfsg/src/ogrs57layer.cpp
Examining data/opencpn-5.2.4+dfsg/src/ocpnhelper.c
Examining data/opencpn-5.2.4+dfsg/src/SignalKDataStream.cpp
Examining data/opencpn-5.2.4+dfsg/src/LinkPropDlg.cpp
Examining data/opencpn-5.2.4+dfsg/src/bbox.cpp
Examining data/opencpn-5.2.4+dfsg/src/TrackPropDlg.cpp
Examining data/opencpn-5.2.4+dfsg/src/iENCToolbar.cpp
Examining data/opencpn-5.2.4+dfsg/src/MarkInfo.cpp
Examining data/opencpn-5.2.4+dfsg/src/AIS_Bitstring.cpp
Examining data/opencpn-5.2.4+dfsg/src/SencManager.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57RegistrarMgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/glTextureDescriptor.cpp
Examining data/opencpn-5.2.4+dfsg/src/GoToPositionDialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPNRegion.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57obj.cpp
Examining data/opencpn-5.2.4+dfsg/src/datastream.cpp
Examining data/opencpn-5.2.4+dfsg/src/Route.cpp
Examining data/opencpn-5.2.4+dfsg/src/SendToGpsDlg.cpp
Examining data/opencpn-5.2.4+dfsg/src/IDX_entry.cpp
Examining data/opencpn-5.2.4+dfsg/src/AboutFrameImpl.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57featuredefns.cpp
Examining data/opencpn-5.2.4+dfsg/src/geodesic.cpp
Examining data/opencpn-5.2.4+dfsg/src/catalog_mgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57classregistrar.cpp
Examining data/opencpn-5.2.4+dfsg/src/download_mgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/chartimg.cpp
Examining data/opencpn-5.2.4+dfsg/src/toolbar.cpp
Examining data/opencpn-5.2.4+dfsg/src/pugixml.cpp
Examining data/opencpn-5.2.4+dfsg/src/styles.cpp
Examining data/opencpn-5.2.4+dfsg/src/georef.cpp
Examining data/opencpn-5.2.4+dfsg/src/TTYWindow.cpp
Examining data/opencpn-5.2.4+dfsg/src/chcanv.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57mgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/chartdb.cpp
Examining data/opencpn-5.2.4+dfsg/src/FontDesc.cpp
Examining data/opencpn-5.2.4+dfsg/src/SelectItem.cpp
Examining data/opencpn-5.2.4+dfsg/src/DetailSlider.cpp
Examining data/opencpn-5.2.4+dfsg/src/ocpndc.cpp
Examining data/opencpn-5.2.4+dfsg/src/AISTargetAlertDialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp
Examining data/opencpn-5.2.4+dfsg/src/logger.cpp
Examining data/opencpn-5.2.4+dfsg/src/multiplexer.cpp
Examining data/opencpn-5.2.4+dfsg/src/PositionParser.cpp
Examining data/opencpn-5.2.4+dfsg/src/s52plib.cpp
Examining data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp
Examining data/opencpn-5.2.4+dfsg/src/chartdbs.cpp
Examining data/opencpn-5.2.4+dfsg/src/glTexCache.cpp
Examining data/opencpn-5.2.4+dfsg/src/TCWin.cpp
Examining data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp
Examining data/opencpn-5.2.4+dfsg/src/ConnectionParams.cpp
Examining data/opencpn-5.2.4+dfsg/src/catalog_handler.cpp
Examining data/opencpn-5.2.4+dfsg/src/SignalKEventHandler.cpp
Examining data/opencpn-5.2.4+dfsg/src/RolloverWin.cpp
Examining data/opencpn-5.2.4+dfsg/src/SerialDataStream.cpp
Examining data/opencpn-5.2.4+dfsg/src/piano.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPN_AUIManager.cpp
Examining data/opencpn-5.2.4+dfsg/src/DarkMode.h
Examining data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp
Examining data/opencpn-5.2.4+dfsg/src/semantic_vers.cpp
Examining data/opencpn-5.2.4+dfsg/src/RoutePropDlg.cpp
Examining data/opencpn-5.2.4+dfsg/src/undo.cpp
Examining data/opencpn-5.2.4+dfsg/src/NMEALogWindow.cpp
Examining data/opencpn-5.2.4+dfsg/src/shaders.cpp
Examining data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp
Examining data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp
Examining data/opencpn-5.2.4+dfsg/src/s52utils.cpp
Examining data/opencpn-5.2.4+dfsg/src/mbtiles.cpp
Examining data/opencpn-5.2.4+dfsg/src/ocpn_utils.cpp
Examining data/opencpn-5.2.4+dfsg/src/MUIBar.cpp
Examining data/opencpn-5.2.4+dfsg/src/NetworkDataStream.cpp
Examining data/opencpn-5.2.4+dfsg/src/options.cpp
Examining data/opencpn-5.2.4+dfsg/src/viewport.cpp
Examining data/opencpn-5.2.4+dfsg/src/ogrs57datasource.cpp
Examining data/opencpn-5.2.4+dfsg/src/AISTargetQueryDialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/ConfigMgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/s57reader.cpp
Examining data/opencpn-5.2.4+dfsg/src/Track.cpp
Examining data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp
Examining data/opencpn-5.2.4+dfsg/src/TTYScroll.cpp
Examining data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp
Examining data/opencpn-5.2.4+dfsg/src/cm93.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPN_DataStreamEvent.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPN_SignalKEvent.cpp
Examining data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp
Examining data/opencpn-5.2.4+dfsg/src/macutils.c
Examining data/opencpn-5.2.4+dfsg/src/TCDataFactory.cpp
Examining data/opencpn-5.2.4+dfsg/src/tcmgr.cpp
Examining data/opencpn-5.2.4+dfsg/src/scrollingdialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/AISTargetListDialog.cpp
Examining data/opencpn-5.2.4+dfsg/src/kml.cpp
Examining data/opencpn-5.2.4+dfsg/src/routeman.cpp
Examining data/opencpn-5.2.4+dfsg/src/crashprint.cpp
Examining data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp
Examining data/opencpn-5.2.4+dfsg/src/garmin_wrapper.h
Examining data/opencpn-5.2.4+dfsg/src/printtable.cpp
Examining data/opencpn-5.2.4+dfsg/src/trackprintout.cpp
Examining data/opencpn-5.2.4+dfsg/src/wificlient.cpp
Examining data/opencpn-5.2.4+dfsg/src/ocpCursor.cpp
Examining data/opencpn-5.2.4+dfsg/src/Osenc.cpp
Examining data/opencpn-5.2.4+dfsg/src/OCPNListCtrl.cpp
Examining data/opencpn-5.2.4+dfsg/src/DepthFont.cpp
Examining data/opencpn-5.2.4+dfsg/src/routeprintout.cpp
Examining data/opencpn-5.2.4+dfsg/src/FlexHash.cpp
Examining data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp
Examining data/opencpn-5.2.4+dfsg/src/GarminProtocolHandler.cpp
Examining data/opencpn-5.2.4+dfsg/src/compass.cpp
Examining data/opencpn-5.2.4+dfsg/src/CanvasConfig.cpp
Examining data/opencpn-5.2.4+dfsg/src/mygeom.cpp
Examining data/opencpn-5.2.4+dfsg/src/chart1.cpp
Examining data/opencpn-5.2.4+dfsg/src/navutil.cpp
Examining data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp
Examining data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp

FINAL RESULTS:

data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:30907:42:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
  { "readlink",     (sqlite3_syscall_ptr)readlink,        0 },
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:527:13:  [5] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120). Risk is high,
  it appears that the size is given as bytes, but the function requires size
  as characters.
            MultiByteToWideChar( 0, 0, buf.data(), -1, wlocn, sizeof(wlocn)-1);
data/opencpn-5.2.4+dfsg/include/GL/glext.h:3774:71:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/include/GL/glext.h:4393:74:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/include/dychart.h:88:8:  [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.
#undef snprintf
data/opencpn-5.2.4+dfsg/include/dychart.h:89:9:  [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.
#define snprintf mysnprintf
data/opencpn-5.2.4+dfsg/include/s52utils.h:32:19:  [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.
#define PRINTF    printf(__FILE__":%i: : ", __LINE__),printf
data/opencpn-5.2.4+dfsg/include/s52utils.h:32:55:  [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.
#define PRINTF    printf(__FILE__":%i: : ", __LINE__),printf
data/opencpn-5.2.4+dfsg/include/s52utils.h:34:19:  [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.
#define PRINTF    printf(__FILE__":%i: %s(): ", __LINE__, __FUNCTION__),printf
data/opencpn-5.2.4+dfsg/include/s52utils.h:34:73:  [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.
#define PRINTF    printf(__FILE__":%i: %s(): ", __LINE__, __FUNCTION__),printf
data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Utils.h:68:9:  [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.
#ifndef snprintf
data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Utils.h:69:9:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/include/SQLiteCpp/Utils.h:69:18:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:29:13:  [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.
    #ifndef snprintf
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:30:17:  [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.
        #define snprintf _snprintf_s
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:521: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.
    else if (sscanf(url.c_str(), "ws://%[^:/]:%d/%s", host, &port, path) == 3) {
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:523: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.
    else if (sscanf(url.c_str(), "ws://%[^:/]/%s", host, path) == 2) {
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:198:16:  [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(obuf, len, DEV_PREFIX "%s", comname);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.h:63:9:  [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.
#ifndef snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.h:64:11:  [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.
  #define snprintf  _snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.h:64:21:  [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.
  #define snprintf  _snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c:321:12:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    (void) strcpy(gps_save_string,(char *)rec->data+4);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsmath.c:1344:12:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    (void) strcpy(map,UKNG[idx]);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsport.h:50:9:  [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.
#ifndef snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsport.h:51:11:  [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.
  #define snprintf  _snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsport.h:51:21:  [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.
  #define snprintf  _snprintf
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:108:7:  [4] (format) vsnprintf:
  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.
      vsnprintf(last_error, LAST_ERROR_SIZE, mb, ap);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:371:7:  [4] (format) vsnprintf:
  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.
      vsnprintf(last_error, LAST_ERROR_SIZE, mb, ap);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c:517:5:  [4] (format) vsnprintf:
  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.
    vsnprintf(last_error, LAST_ERROR_SIZE, fmt, ap);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c:603:2:  [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, argp);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c:667:10:  [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, argp);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:796:5:  [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( szTemp, DOUBLE_BUFFER_SIZE, pszFormat, dfValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:798:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf( szTemp, pszFormat, dfValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:1124:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( szFormat, "%%3dd%%2d\'%%.%df\"%s", nPrecision, pszHemisphere );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:1125:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf( szBuffer, szFormat, nDegrees, nMinutes, dfSeconds );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:453:9:  [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( pszWorkLine, pszLine );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:890:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( szPath, "csv/%s", pszBasename );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:894:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( szPath, "/usr/local/share/epsg_csv/%s", pszBasename );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:896:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( szPath, pszBasename );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:199:5:  [4] (format) vsnprintf:
  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.
    vsnprintf( gszCPLLastErrMsg, sizeof(gszCPLLastErrMsg), fmt, args );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:201:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    vsprintf(gszCPLLastErrMsg, fmt, args);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:290: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( pszMessage, VSICTime( VSITime(NULL) ) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:307:5:  [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( pszMessage, pszCategory );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:315:5:  [4] (format) vsnprintf:
  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.
    vsnprintf(pszMessage+strlen(pszMessage), ERROR_MAX - strlen(pszMessage),
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:318:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    vsprintf(pszMessage+strlen(pszMessage), pszFormat, args);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:484:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( path, cpl_log );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:493:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf( path, "%s_%d%s", cpl_log, i++,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:505:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf( path, "%s_%d%s", cpl_log_base,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:383:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( psContext->pszToken, pszUnescaped );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:411:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( psContext->pszToken, pszUnescaped );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:437:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( psContext->pszToken, pszUnescaped );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:850:9:  [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( *ppszText + *pnLength, pszEscaped );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:863:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( *ppszText + *pnLength, " %s=\"", psNode->pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:881:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( *ppszText + *pnLength, "<!--%s-->\n",
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:897: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( *ppszText + *pnLength, psNode->pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:915:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( *ppszText + *pnLength, "<%s", psNode->pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:972:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf( *ppszText + *pnLength, "</%s>\n", psNode->pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:383:5:  [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( szStaticResult, pszExt );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:506:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( pszFilename, "%s%s%s",
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:595:9:  [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( szStaticResult, SEP_STRING );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:600:5:  [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( szStaticResult, pszSecondaryFilename );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:811:5:  [4] (format) vsnprintf:
  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.
    vsnprintf(gszCPLSPrintfBuffer[gnCPLSPrintfBuffer], CPLSPrintf_BUF_SIZE-1,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:814:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    vsprintf(gszCPLSPrintfBuffer[gnCPLSPrintfBuffer], fmt, args);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:839:5:  [4] (format) vsnprintf:
  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.
    vsnprintf(gszCPLSPrintfBuffer[gnCPLSPrintfBuffer], CPLSPrintf_BUF_SIZE-1,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:842:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    vsprintf(gszCPLSPrintfBuffer[gnCPLSPrintfBuffer], fmt, args);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1069:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( pszLine, "%s=%s", pszName, pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1124:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf( *papszPtr, "%s%c%s", pszName, cSep, pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1174: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( pszNewLine, pszKey );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1175:9:  [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( pszNewLine, pszSeparator );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1176:9:  [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( pszNewLine, pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp:272:15:  [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.
    nReturn = vfprintf( fp, pszFormat, args );
data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp:195:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( szResult, "%s", GDAL_RELEASE_NAME );
data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp:197:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( szResult, "GDAL %s, released %d/%02d/%02d",
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1004:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        sprintf( szTempBuffer, szFormat, pauFields[iField].Real );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1026:13:  [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( szTempBuffer, szItem );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1053:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
            sprintf( szItem, szFormat, pauFields[iField].RealList.paList[i] );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1063:13:  [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( szTempBuffer, szItem );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1091:13:  [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( szTempBuffer, pszItem );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:761: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( *ppszDstText, getGeometryName() );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:769:9:  [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( *ppszDstText, papszGeoms[iGeom] );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:917:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( *ppszDstText, "%s (", getGeometryName() );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:319:9:  [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( *ppszDstText, papszLines[iLine] + 11 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:189:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( *ppszDstText, "%s (", getGeometryName() );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:345:9:  [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( *ppszDstText, papszLines[iLine] + 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:383:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( szTextEquiv, "POINT (%s)", szCoordinate );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:753:9:  [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( *ppszDstText, papszRings[iRing] + 11 );
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:5437:59:  [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.
GLAPI GLvoid* APIENTRY glMapBuffer (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:5457:71:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:6281:62:  [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.
GLAPI GLvoid* APIENTRY glMapBufferARB (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:6293:74:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:6562:104:  [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.
GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:6565:116:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10226:67:  [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.
GLAPI GLvoid* APIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10228:112:  [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.
GLAPI GLvoid* APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10433:79:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10435:124:  [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.
typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10710:67:  [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.
GLAPI void APIENTRY glMakeBufferResidentNV (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10713:72:  [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.
GLAPI void APIENTRY glMakeNamedBufferResidentNV (GLuint buffer, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10725:79:  [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.
typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10728:84:  [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.
typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10794:126:  [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.
GLAPI void APIENTRY glBindImageTextureEXT (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:10797:138:  [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.
typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:11003:78:  [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.
GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glext.h:11014:90:  [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.
typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2ext.h:950:68:  [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.
GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2ext.h:954:75:  [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.
typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2ext.h:1338:113:  [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.
GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl2ext.h:1341:120:  [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.
typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/gl3.h:978:119:  [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.
GL_APICALL GLvoid*        GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glext.h:789:64:  [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.
GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glext.h:793:75:  [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.
typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glext.h:1036:109:  [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.
GL_API void GL_APIENTRY *glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GLES/glext.h:1039:120:  [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.
typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.c:36:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
                printf(unknown_str, from);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.c:53:25:  [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.
                        printf(unknown_str, from);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.c:58:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
                printf(unknown_str, to);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.c:35:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(extensions, "%s %s", builtin_extensions,
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.h:26:9:  [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.
        printf(#code " -> %i\n", error);}
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.h:30:9:  [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.
        printf(file ":%i -> %i\n", line, error);}
data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/glx.c:158:5:  [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.
    system("xrefresh");
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:2281:44:  [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.
GLvoid * glMapBuffer(GLenum target, GLenum access) {
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:2285:35:  [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.
    packed_data.args.a2 = (GLenum)access;
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:13150:83:  [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.
int snd_pcm_set_params(snd_pcm_t * pcm, snd_pcm_format_t format, snd_pcm_access_t access, unsigned int channels, unsigned int rate, int soft_resample, unsigned int latency) {
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:13155:45:  [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.
    packed_data.args.a3 = (snd_pcm_access_t)access;
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:2107:79:  [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.
typedef GLvoid * (*FUNC_GLvoid___GENPT___GLenum_GLenum)(GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:5126:39:  [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.
#define glMapBuffer_ARG_NAMES target, access
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:5127:54:  [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.
#define glMapBuffer_ARG_EXPAND GLenum target, GLenum access
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:10935:28:  [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.
    packed_data->args.a2 = access;
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:2795:79:  [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.
typedef GLvoid * (*FUNC_GLvoid___GENPT___GLenum_GLenum)(GLenum target, GLenum access);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:10121:181:  [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.
typedef int (*FUNC_int_snd_pcm_t___GENPT___snd_pcm_format_t_snd_pcm_access_t_unsigned_int_unsigned_int_int_unsigned_int)(snd_pcm_t * pcm, snd_pcm_format_t format, snd_pcm_access_t access, unsigned int channels, unsigned int rate, int soft_resample, unsigned int latency);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:15423:39:  [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.
#define glMapBuffer_ARG_NAMES target, access
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:15424:54:  [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.
#define glMapBuffer_ARG_EXPAND GLenum target, GLenum access
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:22766:51:  [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.
#define snd_pcm_set_params_ARG_NAMES pcm, format, access, channels, rate, soft_resample, latency
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:22767:98:  [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.
#define snd_pcm_set_params_ARG_EXPAND snd_pcm_t * pcm, snd_pcm_format_t format, snd_pcm_access_t access, unsigned int channels, unsigned int rate, int soft_resample, unsigned int latency
data/opencpn-5.2.4+dfsg/libs/glu/libutil/registry.c: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(lookHere,(const char *)extString);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:191:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy( pszNewFormatControls, _formatControls );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:196:5:  [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( pszNewFormatControls, poNewSFDefn->GetFormat() );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:213:5:  [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( _arrayDescr, poNewSFDefn->GetName() );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:300:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf( *ppachData + 9, "%s%c%s",
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:304:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( *ppachData + strlen(*ppachData), "%c%s",
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:657:13:  [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( pszDest, pszExpandedContents );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:690:17:  [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( pszDest, pszExpandedContents );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:410: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( _extendedCharSet, pszExtendedCharSet );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:492: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( achDirEntry, papoFieldDefns[iField]->GetName() );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1667:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        sprintf( pachData + nEntrySize * iField, szFormat,
data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp:55:5:  [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(buff, sizeof( buff ), cmd, path);
data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp:58:18:  [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 status = system(buff);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:30781:42:  [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.
  { "access",       (sqlite3_syscall_ptr)access,     0  },
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:47568:28:  [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.
#define sqlite3DebugPrintf printf
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:59593:42:  [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.
# define TRACE(X)  if(sqlite3BtreeTrace){printf X;fflush(stdout);}
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:73518: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(pOut, zFormat1, pc, 
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:108096:14:  [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.
    FUNCTION(printf,            -1, 0, 0, printfFunc       ),
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112163:12:  [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.
  char * (*snprintf)(int,char*,const char*,...);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112275:11:  [4] (format) vsnprintf:
  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.
  char *(*vsnprintf)(int,char*,const char*,va_list);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112447:53:  [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.
#define sqlite3_snprintf               sqlite3_api->snprintf
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112471:53:  [4] (format) vsnprintf:
  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.
#define sqlite3_vsnprintf              sqlite3_api->vsnprintf
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112547:53:  [4] (format) vsnprintf:
  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.
#define sqlite3_uri_vsnprintf          sqlite3_api->vsnprintf
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:47:25:  [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.
#define polarssl_printf printf
data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/json_defs.h:196:14:  [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.
#if !defined(snprintf) && defined(_MSC_VER)
data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/json_defs.h:197:9:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/libs/wxJSON/include/wx/json_defs.h:197:18:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1027:5:  [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( buffer, 32, m_fmt, data->m_value.m_valDouble );
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:48:9:  [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.
# undef printf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:49:9:  [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.
# undef fprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:50:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# undef sprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:51:9:  [4] (buffer) vsprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# undef vsprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:52:9:  [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.
# undef snprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:53:9:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
# undef vprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:54:9:  [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.
# undef vfprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:55:9:  [4] (format) vsnprintf:
  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.
# undef vsnprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:58:10:  [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.
# define printf curl_mprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:59:10:  [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 fprintf curl_mfprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:63:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# define sprintf sprintf_was_used
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:64:10:  [4] (buffer) vsprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# define vsprintf vsprintf_was_used
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:66:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# define sprintf curl_msprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:67:10:  [4] (buffer) vsprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
# define vsprintf curl_mvsprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:69:10:  [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.
# define snprintf curl_msnprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:70:10:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
# define vprintf curl_mvprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:71:10:  [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.
# define vfprintf curl_mvfprintf
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/mprintf.h:72:10:  [4] (format) vsnprintf:
  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.
# define vsnprintf curl_mvsnprintf
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/json_defs.h:196:14:  [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.
#if !defined(snprintf) && defined(_MSC_VER)
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/json_defs.h:197:9:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/include/wx/json_defs.h:197:18:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1025:5:  [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( buffer, 32, m_fmt, data->m_value.m_valDouble );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_debug.c:115:8:  [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.
	ret = vfprintf(stderr, fmt, ap);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:475:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(sbuf, "%s%4ld", (strlen(buf) > 0) ? " " : "",
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:483:4:  [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/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:559:8:  [4] (format) vsnprintf:
  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.
	ret = vsnprintf(buf, sizeof buf, fmt, ap);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_string.c:94:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(p, s);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_enc.c:371:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf, "%s\n_jp2overhead=%lu\n", (optstr ? optstr : ""),
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:973:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf, "Creator: JasPer Version %s", jas_getversion());
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.h:32:52:  [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 grib_debug(format, ...)  {if(DEBUG_INFO)  {fprintf(stderr,format,__VA_ARGS__);fprintf(stderr,"\n");}}
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.h:33:78:  [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 erreur(format, ...) {if(DEBUG_ERROR) {fprintf(stderr,"Grib ERROR: ");fprintf(stderr,format,__VA_ARGS__);fprintf(stderr,"\n");}}
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/json_defs.h:196:14:  [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.
#if !defined(snprintf) && defined(_MSC_VER)
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/json_defs.h:197:9:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/json_defs.h:197:18:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1025:5:  [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( buffer, 32, m_fmt, data->m_value.m_valDouble );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:306: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((*MagneticModel)->ModelName, ModelName);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:632:13:  [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(buffer, "%s", OutputFile);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1263: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(model->ModelName, values[MODELNAME]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1691:5:  [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(c_str, "%lf%s", &epoch, MagneticModel->ModelName);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1766:5:  [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(c_str, "%lf%s", &epoch, MagneticModel->ModelName);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1917:21:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                    strcpy(paramvalues[i], paramvalue);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2312:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(tempstring, "%4d%4s", DMS[i], tempstring2);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2313:9:  [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(DMSstring, tempstring);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:3759: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(TimedMagneticModel->ModelName, MagneticModel->ModelName);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/json_defs.h:186:14:  [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.
#if !defined(snprintf) && defined(_MSC_VER)
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/json_defs.h:187:9:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/json_defs.h:187:18:  [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.
#define snprintf _snprintf
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1029:5:  [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( buffer, 32, m_fmt, data->m_value.m_valDouble );
data/opencpn-5.2.4+dfsg/src/LLRegion.cpp:104:5:  [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, fn);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:241:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(qmsg, buf.data());
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1185:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(qmsg, buf.data());
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:87:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf( buf, " %s", pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:89:40:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    else if( eErrClass == CE_Warning ) sprintf( buf, "   Warning %d: %s\n", nError, pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:91:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( buf, "   ERROR %d: %s\n", nError, pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3052:29:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                            strcpy((char *)payloadBuffer, pAttrVal );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3151:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( line, "  %s %f %f\n", pGeo->getGeometryName(), m_ref_lat, m_ref_lon );
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:194:17:  [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(index_line, "Harmonic %s", s1);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:241: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 (7 != sscanf( index_line_buffer, "%c%s%lf%lf%d:%d%*c%[^\r\n]",
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:283:27:  [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 (10 != sscanf(index_line_buffer, "%*c%d %f %f %d %f %f %d %s %d%*c%[^\r\n]",
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:290:21:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                    strcpy(pIDX->IDX_tzname, stz);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:321: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(pIDX->IDX_reference_name, pIDX->IDX_station_name);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:365:9:  [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 (linrec, "%s %lf", junk, &(m_cst_speeds[a]));
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:386:17:  [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.
        if(1 != fscanf (fp, "%s", linrec))
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:398:13:  [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.
    if(1 != fscanf (fp, "%s", linrec))
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:414:22:  [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.
        int ignore = fscanf (fp, "%s", linrec);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:499: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 (psd->station_name, linrec);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:517:13:  [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 (nojunk(linrec), "%s %s", junk, psd->tzfile) < 2)
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:522:13:  [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 (nojunk(linrec), "%lf %s", &(psd->DATUM), psd->unit) < 2)
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:542:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy (psd->units_conv,       known_units[unit_c].name);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:543:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy (psd->units_abbrv,      known_units[unit_c].abbrv);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:551:13:  [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 (linrec, "%s %lf %lf", junk, &loca, &loce);
data/opencpn-5.2.4+dfsg/src/Track.cpp:180:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(m_timestring, ts.mb_str());
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:2418:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(&android_plat_spc.hn[0], s1.c_str());
data/opencpn-5.2.4+dfsg/src/chart1.cpp:8394:23:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        FILE * fpIn = popen("sysctl -n hw.memsize", "r");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10590:9:  [4] (shell) execlp:
  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.
        execlp("ocpnhelper", "ocpnhelper", "-SB", NULL);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10732:9:  [4] (shell) execlp:
  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.
        execlp("ocpnhelper", "ocpnhelper", "-U", NULL);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11306:13:  [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( buf, "Table:%s", TableName );
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11326:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy( c->colName, name );
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:169: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(pt, utf8Path.mb_str(wxConvUTF8));
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:479:19:  [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(buffer, "Date Published=%s\r\n", &date_string[0]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:488:25:  [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(date_string, "%s", date_buf);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1332:31:  [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(&buffer[i], "%s\r\n", date_string);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1359:34:  [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(date_string, "%s", date_buf);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:762: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( lnst->vector.LVCT, lineStyle.HPGL.mb_str() );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:765: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( lnst->colRef.LCRF, lineStyle.colorRef.mb_str() );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:904: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( patt->vector.PVCT, pattern.HPGL.mb_str() );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:907: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( patt->colRef.PCRF, pattern.colorRef.mb_str() );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:1080: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( symb->vector.SVCT, symbol.HPGL.mb_str() );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:1083: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( symb->colRef.SCRF, symbol.colorRef.mb_str() );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3222:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf ( line, "  %s (%c) = %s", "COLOUR", 'I', ( const char * ) sc.mb_str() );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3227:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf ( line, "  %s (%c) = %s", "BOYSHP", 'I', "4" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3236:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf ( line, "  %s (%c) = %s", "BOYSHP", 'I', ( const char * ) st.mb_str() );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3241:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                  sprintf ( line, "  %s (%c) = %s", "COLOUR", 'I', "2" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3250:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf ( line, "  %s (%c) = %s", "COLPAT", 'I', ( const char * ) sp.mb_str() );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3267:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf ( line, "  %s (%c) = %s", "WRKATT", 'I', "1" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3314:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy ( ( char * ) pattValTmp->value, lstring.mb_str() );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3450:25:  [4] (buffer) strcpy:
  Does 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 ( pAVS, ( char * ) aval );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3458:25:  [4] (buffer) strcpy:
  Does 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 ( pAVS, ( const char * ) &aval[3] );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3471:31:  [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 ( val, vi );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3478:25:  [4] (buffer) strcpy:
  Does 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 ( pAVS, val );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3524: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 ( pAVS, val );
data/opencpn-5.2.4+dfsg/src/georef.cpp:46:9:  [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.
#define snprintf mysnprintf
data/opencpn-5.2.4+dfsg/src/logger.cpp:173:5:  [4] (format) vsnprintf:
  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.
    vsnprintf(buf, sizeof(buf), fmt, ap);
data/opencpn-5.2.4+dfsg/src/navutil.cpp:3868:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf ( pattern, "-*-%s-*-*-*-*-*-*-*-*-*-*-iso8859-1", face );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4023:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf ( font_x,"-*-%s-%s-r-normal-*-*-%s0-*-*-*-*-iso8859-1", facename.mb_str(), weight.mb_str(), pointsize.mb_str() );
data/opencpn-5.2.4+dfsg/src/ocpn_utils.cpp:78:14:  [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.
    return ( access( name.c_str(), F_OK ) != -1 );
data/opencpn-5.2.4+dfsg/src/options.cpp:1583:12:  [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.
   int r = access(path.mb_str(), R_OK | W_OK);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2179:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf( strver,
data/opencpn-5.2.4+dfsg/src/routemanagerdialog.cpp:2527:20:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
            remMSG.sprintf(_T("Layer file: %s is deleted"), destf);
data/opencpn-5.2.4+dfsg/src/routemanagerdialog.cpp:2529:20:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
            remMSG.sprintf(_T("Error deleting Layer file: %s"), destf);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:52:13:  [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.
    int r = snprintf(buf, len, fmt, ##__VA_ARGS__); \
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:177:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
   strcpy(r, datcvr01.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:775: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(r, rule_str.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1010:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(r, rule_str.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1455:13:  [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(sym, arc_data);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1503: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( r, lights05.mb_str() );
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1791:17:  [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(sym, arc_data);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1839:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
         strcpy( r, lights06.mb_str() );
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2229: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(r, obstrn04str.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2282: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(r, q->mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2304: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(r, q->mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2373: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(r, q->mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2525: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(r, slcons03.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2700: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(r, resare02.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2819: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(r, rescsp01.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2877: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(r, s.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2943: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(symbol_prefix_a,symbol_prefix.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3302: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(r, topmar.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3625: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(r, wrecks02str.mb_str());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3942: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(r, symins);
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1792:34:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
                            b += sprintf( b, tmp, val );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1796:34:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
                            b += sprintf( b, tmp, atof( val ) );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1801:34:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
                            b += sprintf( b, tmp, atoi( val ) );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:5937:33:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    if( eErrClass == CE_Debug ) sprintf( buf, " %s", pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:5938:40:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    else if( eErrClass == CE_Warning ) sprintf( buf, "   Warning %d: %s\n", nError, pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:5940:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf( buf, "   ERROR %d: %s\n", nError, pszErrorMsg );
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:266: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(pAVS, val);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2423: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 (rec->name, tindex[num].name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2777: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 (last_search, search);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3380: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 (hd.tzfile[hd.pub.tzfiles++], c_name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3443: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 (hd.country[hd.pub.countries++], c_name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3506: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 (hd.datum[hd.pub.datum_types++], c_name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3554: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 (hd.legalese[hd.pub.legaleses++], c_name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3617: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 (hd.restriction[hd.pub.restriction_types++], c_name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4055: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 ((NV_CHAR *) &buf[pos], hd.level_unit[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4078: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 ((NV_CHAR *) &buf[pos], hd.dir_unit[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4102: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 ((NV_CHAR *) &buf[pos], hd.restriction[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4127: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 ((NV_CHAR *) &buf[pos], hd.tzfile[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4152: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 ((NV_CHAR *) &buf[pos], hd.country[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4177: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 ((NV_CHAR *) &buf[pos], hd.datum[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4202: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 ((NV_CHAR *) &buf[pos], hd.legalese[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4226: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 ((NV_CHAR *) &buf[pos], hd.constituent[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4565:21:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                    strcpy ((char *)keys[i].address.cstr, clip_string(info));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4688: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 (hd.level_unit[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4711: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 (hd.dir_unit[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4741: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 (hd.restriction[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4778: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 (hd.tzfile[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4807: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 (hd.country[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4835: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 (hd.datum[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4872:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy (hd.legalese[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4897: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 (hd.constituent[i], (NV_CHAR *) buf);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5079: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 (tindex[i].name, rec.header.name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5120: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 (filename, file);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5348: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 (hd.constituent[i], constituent[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5497: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 (hd.level_unit[i], level_unit[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5512: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 (hd.dir_unit[i], dir_unit[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5531: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 (hd.restriction[i], restriction[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5549: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 (hd.legalese[i], legalese[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5566: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 (hd.tzfile[i], tzfile[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5583: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 (hd.country[i], country[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5600: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 (hd.datum[i], datum[i]);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:6671: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 (tindex[rec->header.record_number].name, rec->header.name);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:6901:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(tindex[num].name, rec->header.name);
data/opencpn-5.2.4+dfsg/src/wificlient.cpp:313:37:  [4] (buffer) strcpy:
  Does 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(station_data[ilocal].ESSID, pt->ESSID);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texture.c:114:28:  [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_shrink = getenv("LIBGL_SHRINK");
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texture.c:128:26:  [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_dump = getenv("LIBGL_TEXDUMP");
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/wrap/glstub.c:5: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 *debug = getenv("LIBGL_DEBUG");\
data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/glx.c:202:28:  [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_##name = getenv(#name);                 \
data/opencpn-5.2.4+dfsg/libs/glu/libtess/geom.c:192:15:  [3] (random) drand48:
  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.
    a = 1.2 * drand48() - 0.1;
data/opencpn-5.2.4+dfsg/libs/glu/libtess/normal.c:174:36:  [3] (random) drand48:
  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.
#define S_UNIT_X	(RandomSweep ? (2*drand48()-1) : 1.0)
data/opencpn-5.2.4+dfsg/libs/glu/libtess/normal.c:175:36:  [3] (random) drand48:
  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.
#define S_UNIT_Y	(RandomSweep ? (2*drand48()-1) : 0.0)
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffield.cpp:126:9:  [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( getenv("DDF_MAXDUMP") != NULL )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffield.cpp:127: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.
        nMaxRepeat = atoi(getenv("DDF_MAXDUMP"));
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/geom.c:190:13:  [3] (random) drand48:
  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.
		a = 1.2 * drand48() - 0.1;
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/tess.c:186:36:  [3] (random) drand48:
  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.
#define S_UNIT_X	(RandomSweep ? (2*drand48()-1) : 1.0)
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/tess.c:187:36:  [3] (random) drand48:
  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.
#define S_UNIT_Y	(RandomSweep ? (2*drand48()-1) : 0.0)
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:24479:7:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
      InitializeCriticalSection(&winMutex_staticMutexes[i].mutex);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:24573:9:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
        InitializeCriticalSection(&p->mutex);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:24639:3:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
  EnterCriticalSection(&p->mutex);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33265:10:  [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.
    lk = random(); 
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:35844:32:  [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( !azDirs[0] ) azDirs[0] = getenv("SQLITE_TMPDIR");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:35845:32:  [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( !azDirs[1] ) azDirs[1] = getenv("TMPDIR");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36295: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 *envforce = getenv("SQLITE_FORCE_PROXY_LOCKING");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:42921:34:  [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( !azDirs[0] ) azDirs[0] = getenv("SQLITE_TMPDIR");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:42922:34:  [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( !azDirs[1] ) azDirs[1] = getenv("TMPDIR");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:42923:34:  [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( !azDirs[2] ) azDirs[2] = getenv("TMP");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:42924:34:  [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( !azDirs[3] ) azDirs[3] = getenv("TEMP");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:42925:34:  [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( !azDirs[4] ) azDirs[4] = getenv("USERPROFILE");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:108108:15:  [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.
    VFUNCTION(random,            0, 0, 0, randomFunc       ),
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curl.h:1863:19:  [3] (buffer) curl_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.
CURL_EXTERN char *curl_getenv(const char *variable);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/smapi.cpp:97:29:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
        m_data->m_hMapi = ::LoadLibrary(_T("MAPI32.DLL"));
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:1023:26:  [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.
        std::string path(getenv("HOME"));
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:1540:13:  [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 (getenv("XDG_CONFIG_HOME")) {
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:1541: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.
            config_home = getenv("XDG_CONFIG_HOME");
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:1544: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.
          config_home = getenv("HOME");
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:193:9:  [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 (getenv("OPENCPN_COMPAT_TARGET") != 0) {
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:195: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.
        compatOS = getenv("OPENCPN_COMPAT_TARGET");
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:988:9:  [3] (tmpfile) tmpnam:
  Temporary file race condition (CWE-377).
    if (tmpnam(fname) == NULL) {
data/opencpn-5.2.4+dfsg/src/PluginPaths.cpp:130:33:  [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* const envdirs = getenv("OPENCPN_PLUGIN_DIRS");
data/opencpn-5.2.4+dfsg/src/PluginPaths.cpp:150:39:  [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* const xdg_data_dirs = getenv("XDG_DATA_DIRS");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:1131:33:  [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* strLevel = std::getenv("OPENCPN_LOGLEVEL");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:1793:9:  [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 (getenv("OPENCPN_FATAL_ERROR") != 0) {
data/opencpn-5.2.4+dfsg/src/chart1.cpp:1794: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.
        wxLogFatalError(getenv("OPENCPN_FATAL_ERROR"));
data/opencpn-5.2.4+dfsg/src/chart1.cpp:1816:5:  [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.
    srand(seed);
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13326:25:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
            hGDI32DLL = LoadLibrary( TEXT("gdi32.dll") );
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13476:25:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
            hGDI32DLL = LoadLibrary( cstr );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4794:5:  [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.
    srand(seed);
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:45:22:  [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 ((option = getopt(argc, argv, "D:SBUV")) != -1)
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:547: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.
                if (getenv("OCPN_KEEP_PLUGINS")) {
data/opencpn-5.2.4+dfsg/include/AIS_Bitstring.h:44:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char bitbytes[AIS_MAX_MESSAGE_LEN];
data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h:73:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char                      CallSign[CALL_SIGN_LEN];                // includes terminator
data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h:74: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                      ShipName[SHIP_NAME_LEN];
data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h:75: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                      ShipNameExtension[15];
data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h:87: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                      Euro_VIN[EURO_VIN_LEN];	      // includes terminator
data/opencpn-5.2.4+dfsg/include/AIS_Target_Data.h:101: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                      Destination[21];
data/opencpn-5.2.4+dfsg/include/GarminProtocolHandler.h:126: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 pkt_id[2];
data/opencpn-5.2.4+dfsg/include/GarminProtocolHandler.h:129: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 datasz[4];
data/opencpn-5.2.4+dfsg/include/GarminProtocolHandler.h:130: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 databuf[5]; /* actually a variable length array... */
data/opencpn-5.2.4+dfsg/include/GarminProtocolHandler.h:132: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 dbuf[1024];
data/opencpn-5.2.4+dfsg/include/IDX_entry.h:49: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                source_ident[MAXNAMELEN];       // actually, the file name
data/opencpn-5.2.4+dfsg/include/IDX_entry.h:53: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      IDX_zone[40];                  // Alpha region/country/state ID
data/opencpn-5.2.4+dfsg/include/IDX_entry.h:54:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char      IDX_station_name[MAXNAMELEN];  // Name of station
data/opencpn-5.2.4+dfsg/include/IDX_entry.h:73:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char      IDX_reference_name[MAXNAMELEN];// Name of reference station
data/opencpn-5.2.4+dfsg/include/OCPNPlatform.h:48:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char    tsdk[20];
data/opencpn-5.2.4+dfsg/include/OCPNPlatform.h:49: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    hn[20];
data/opencpn-5.2.4+dfsg/include/OCPNPlatform.h:50: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    msdk[20];
data/opencpn-5.2.4+dfsg/include/Station_Data.h:44: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        tzfile[40];
data/opencpn-5.2.4+dfsg/include/Station_Data.h:45:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char        unit[40];
data/opencpn-5.2.4+dfsg/include/Station_Data.h:46:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char        units_conv[40];         // printable converted units
data/opencpn-5.2.4+dfsg/include/Station_Data.h:47: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        units_abbrv[20];        // and abbreviation
data/opencpn-5.2.4+dfsg/include/TCDS_Ascii_Harmonic.h:58: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.
    int read_next_line (FILE *fp, char linrec[linelen], int end_ok);
data/opencpn-5.2.4+dfsg/include/TCDS_Ascii_Harmonic.h:74: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                index_line_buffer[1024];
data/opencpn-5.2.4+dfsg/include/chartdbs.h:152: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        ChartID[16];
data/opencpn-5.2.4+dfsg/include/chartdbs.h:183: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 dbVersion[4];
data/opencpn-5.2.4+dfsg/include/glTextureDescriptor.h:71: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      *map_array[10];
data/opencpn-5.2.4+dfsg/include/glTextureDescriptor.h:72: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      *comp_array[10];
data/opencpn-5.2.4+dfsg/include/glTextureDescriptor.h:73: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      *compcomp_array[10];
data/opencpn-5.2.4+dfsg/include/glTextureManager.h:102: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 *comp_bits_array[10];
data/opencpn-5.2.4+dfsg/include/glTextureManager.h: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 *compcomp_bits_array[10];
data/opencpn-5.2.4+dfsg/include/ocpn_plugin.h:200: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                      CallSign[8];                // includes terminator
data/opencpn-5.2.4+dfsg/include/ocpn_plugin.h:201: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                      ShipName[21];
data/opencpn-5.2.4+dfsg/include/ocpn_plugin.h:976: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                    FeatureName[8];
data/opencpn-5.2.4+dfsg/include/ocpn_types.h:38: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 colName[20];
data/opencpn-5.2.4+dfsg/include/pugixml.hpp:978:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char _memory[192];
data/opencpn-5.2.4+dfsg/include/s52plib.h:53: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 color[3][4];
data/opencpn-5.2.4+dfsg/include/s52plib.h:72: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 obj[7];
data/opencpn-5.2.4+dfsg/include/s52s57.h:151: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.
   union          {char             LINM[8],    PANM[8], SYNM[8];       } name;
data/opencpn-5.2.4+dfsg/include/s52s57.h:190: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           OBCL[7];          // Name (6 char) '\0' terminated
data/opencpn-5.2.4+dfsg/include/s52s57.h:269: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 OBJLName[OBJL_NAME_LEN];
data/opencpn-5.2.4+dfsg/include/s52s57.h:365: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                    FeatureName[8];
data/opencpn-5.2.4+dfsg/include/s52s57.h:592: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(k, &a, sizeof a);
data/opencpn-5.2.4+dfsg/include/s52s57.h:593: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(&k[sizeof a], &b, sizeof b);
data/opencpn-5.2.4+dfsg/include/s52s57.h:599: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 k[sizeof(int) + sizeof(int) + sizeof(char)];
data/opencpn-5.2.4+dfsg/include/wificlient.h:74: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        ESSID[64];
data/opencpn-5.2.4+dfsg/include/wificlient.h:147: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        ESSID[64];
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:311: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(&result->peer, &input.peer, sizeof(sockaddr_storage));
data/opencpn-5.2.4+dfsg/libs/SQLiteCpp/src/Database.cpp:279: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 header[16];
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:94: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 sport[16];
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:509: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 host[512];
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:511: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 path[512];
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:545: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 line[1024];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:60: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 gps_categories[16][17];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:85: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  desc[MAX_GPS_PACKET_SIZE];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:130: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     trk_ident[256];	/* Track identifier */
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:156: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   ident[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:159: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   cmnt[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:163: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   wpt_ident[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:164: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   lnk_ident[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:167: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   cc[2];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:171: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   city[24];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:172: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   state[2];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:173: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[30];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:174: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   facility[32];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:175: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   addr[52];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:176: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   cross_road[52];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:184: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   rte_cmnt[20];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:185: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   rte_ident[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:188: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   rte_link_subclass[18];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:189: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   rte_link_ident[256];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:230: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      course_name[16];          /* Null-terminated unique course name */
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:255: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[11];               /* Null-terminated name */
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_gps.h:306: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   gps_save_string[GPS_ARB_LEN];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:208: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 gb_com_buffer[100];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garminusb.h:40: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.
	unsigned char pkt_id[2];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garminusb.h:43: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.
	unsigned char datasz[4];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garminusb.h:44: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.
	unsigned char databuf[4]; /* actually an variable length array... */
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garminusb.h: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.
	unsigned char dbuf[1024];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c:113: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	gps_save_string[GPS_ARB_LEN];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c:1925: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 gps_categories[16][17];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c:4411: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((*trk)->trk_ident, "%d", identifier);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpscom.c:1243: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(ctk[n_ctk]->trk_ident, "%d", crs[new_crs]->track_index);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsdevice.c:89: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((*packet)->data, data, n);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.c:301: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 s[GPS_ARB_LEN];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.c:327: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.
    (void)sprintf(s,"INIT: No table entry for ID %d\n",id);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.c:347: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 s[GPS_ARB_LEN];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsprot.c:349: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.
    (void) sprintf(s,"PROTOCOL ERROR: Unknown tag/data [%c/%d]\n",tag,data);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:135:2:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	wchar_t    wport[80];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:146:2:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
	MultiByteToWideChar( 0, 0, xname, -1, wport, 80);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:326: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).
    if((psd->fd = open(port, O_RDWR))==-1)
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbcommon.c:214: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 unsigned char  oid[12] =
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbcommon.c:245:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	static const char  oinit[12] =
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbread.c:111: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((*packet)->data, &pkt.gusb_pkt.databuf, payload_size);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbsend.c:42: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(&gp.gusb_pkt.databuf, packet->data, packet->n);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbwin.c: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 szTemp[MAX_PATH];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbwin.c:239: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).
			req_unit_number = atoi(pname+4);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c:38: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 last_error[LAST_ERROR_SIZE];
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsutil.c:58:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char chars[sizeof(int32)];
data/opencpn-5.2.4+dfsg/libs/gdal/include/gdal/cpl_odbc.h:89: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      m_szLastError[SQL_MAX_MESSAGE_LENGTH + 1];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:494: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).
    iValue = atol( pszValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:528: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 szValue[32] = {};
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:686: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        szTemp[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:695: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( szTemp, "%*ld", nMaxLen, iValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:697: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( szTemp, "%*d", nMaxLen, iValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:725: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        szTemp[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:734: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( szTemp, "%*I64d", nMaxLen, iValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:736: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( szTemp, "%*Ld", nMaxLen, iValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:738: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( szTemp, "%*ld", nMaxLen, iValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:777: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        szTemp[DOUBLE_BUFFER_SIZE];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:978: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    szAltPath[11];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:1033: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 *p, *s, work[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:1100: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        szFormat[30];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:1101: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 szBuffer[50];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:378: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).
        psTable->panLineIndex[i] = atoi(psTable->papszLines[i]);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:484: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).
        return( atoi(pszFieldValue) == atoi(pszTarget) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:484: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).
        return( atoi(pszFieldValue) == atoi(pszTarget) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:509: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).
    nTestValue = atoi(pszValue);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:521: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).
                 && atoi(papszFields[iKeyField]) == nTestValue )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:607: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).
    nTestValue = atoi(pszValue);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:628: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).
                 && atoi(papszFields[iKeyField]) == nTestValue )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:862: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         szPath[512];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:888: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).
    if( (fp = fopen( "csv/horiz_cs.csv", "rt" )) != NULL )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:895: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( (fp = fopen( szPath, "rt" )) == NULL )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:129: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 gszCPLLastErrMsg[2000] = "";
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:300:9:  [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( pszMessage, ": " );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:308:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat( pszMessage, ": " );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:425: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).
            fpLog = fopen( CPLGetConfigOption("CPL_LOG",""), "wt" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:481: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      path[5000];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:486: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).
            while( (fpLog = fopen( path, "rt" )) != NULL )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:511: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).
            fpLog = fopen( path, "wt" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:932:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat( *ppszText + *pnLength, "?>\n" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:934:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat( *ppszText + *pnLength, "/>\n" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:86: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     szStaticResult[CPL_PATH_BUF_SIZE];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:501: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 *apszList[2];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:802: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 gszCPLSPrintfBuffer[CPLSPrintf_BUF_Count][CPLSPrintf_BUF_SIZE];
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1272:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf( pszOutput, "%%%02X", pszInput[iIn] );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp:115:10:  [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( (char *) pszFilename, (char *) pszAccess );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp:451: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( poBrokenTime, poTime, sizeof(tm) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp:469: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( poBrokenTime, poTime, sizeof(tm) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp:187: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 szResult[128];
data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp:191:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szResult, "%d", GDAL_VERSION_NUM );
data/opencpn-5.2.4+dfsg/libs/gdal/src/gdal_misc.cpp:193:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szResult, "%d", GDAL_RELEASE_DATE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:846:20:  [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 atoi(pauFields[iField].String);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:970: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         szTempBuffer[160];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:989:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "%d", pauFields[iField].Integer );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:994: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    szFormat[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:998: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( szFormat, "%%%d.%df",
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1002:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy( szFormat, "%.16g" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1010: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    szItem[32];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1013:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "(%d:", nCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1016: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( szItem, "%d", pauFields[iField].IntegerList.paList[i] );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1030:13:  [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( szTempBuffer, ",...)" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1038: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    szItem[40];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1039: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    szFormat[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1044: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( szFormat, "%%%d.%df",
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1048:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy( szFormat, "%.16g" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1050:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "(%d:", nCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1067:13:  [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( szTempBuffer, ",...)" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1077:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "(%d:", nCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1095:13:  [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( szTempBuffer, ",...)" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1383: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    szTempBuffer[64];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1385:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "%d", nValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1461: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    szTempBuffer[128];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1463:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szTempBuffer, "%.16g", dfValue );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1536: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).
        pauFields[iField].Integer = atoi(pszValue);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1815: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( pauFields[iField].IntegerList.paList,
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1837: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( pauFields[iField].RealList.paList,
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:2371: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( pauNewFields + iDstField,
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometry.cpp:1099: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.
          static char szWorkName[33];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometry.cpp:1100: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( szWorkName, "Unrecognised: %d", (int) eType );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:524: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( &nGeomCount, pabyData + 5, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:591: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( pabyData + 1, &nGType, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:601: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( pabyData+5, &nCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:605: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( pabyData+5, &nGeomCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:631: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:762:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat( *ppszDstText, " (" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometryfactory.cpp:290: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:122: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( paoPoints, poSrcRing->paoPoints,
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:128: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( padfZ, poSrcRing->padfZ, sizeof(double) * getNumPoints() );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:205: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( &nNewNumPoints, pabyData, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:223: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( paoPoints, pabyData + 4, 16 * nPointCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:228: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( &(paoPoints[i].x), pabyData + 4 + 24 * i, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:229: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( &(paoPoints[i].y), pabyData + 4 + 24 * i + 8, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:230: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( padfZ + i, pabyData + 4 + 24 * i + 16, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:270: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( pabyData, &nPointCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:280: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( pabyData+4+i*24, &(paoPoints[i].x), 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:281: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( pabyData+4+i*24+8, &(paoPoints[i].y), 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:285: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( pabyData+4+i*24+16, padfZ + i, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:291: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( pabyData+4, paoPoints, 16 * nPointCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinearring.cpp:302: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( pabyData, &nCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:556: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( paoPoints, paoPointsIn, sizeof(OGRRawPoint) * nPointsIn);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:583: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( this->padfZ, padfZ, sizeof(double) * nPointsIn );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:646: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( this->padfZ, padfZ, sizeof(double) * nPointsIn );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:697: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( &nNewNumPoints, pabyData + 5, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:718: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( paoPoints + i, pabyData + 9 + i*24, 16 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:719: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( padfZ + i, pabyData + 9 + 16 + i*24, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:724: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( paoPoints, pabyData + 9, 16 * nPointCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:775: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( pabyData + 1, &nGType, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:780: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( pabyData+5, &nPointCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:791: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( pabyData + 9 + 24*i, paoPoints+i, 16 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:792: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( pabyData + 9 + 16 + 24*i, padfZ+i, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:796: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( pabyData+9, paoPoints, 16 * nPointCount );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:806: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( pabyData+5, &nCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:827: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:164: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:312: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( *ppszDstText, "MULTILINESTRING (" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:231: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:352: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:153: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:338: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( *ppszDstText, "MULTIPOLYGON (" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:218: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( &x, pabyData + 5, 16 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:228: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( &z, pabyData + 5 + 16, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:266: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( pabyData + 1, &nGType, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:271: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( pabyData+5, &nQual, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:273: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( pabyData+9, &x, 16 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:277: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( pabyData + 9 + 16, &z, 8 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:306: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:379: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        szTextEquiv[100];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpoint.cpp:380: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        szCoordinate[80];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:475: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( &nRingCount, pabyData + 5, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:540: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( pabyData + 1, &nGType, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:550: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( pabyData+5, &nCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:554: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( pabyData+5, &nRingCount, 4 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:583: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        szToken[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:746: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( *ppszDstText, "POLYGON (" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:92: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( pszTarget, "%d %d", (int) x, (int) y );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:94: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( pszTarget, "%.8f %.8f", x, y );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:96: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( pszTarget, "%.3f %.3f", x, y );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:101: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( pszTarget, "%d %d %d", (int) x, (int) y, (int) z );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:103: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( pszTarget, "%.8f %.8f %.3f", x, y, z );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:105: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( pszTarget, "%.3f %.3f %.3f", x, y, z );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:222: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        szDelim[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:228: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    szTokenX[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:229: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    szTokenY[OGR_WKT_TOKEN_MAX];
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:833: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    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:838: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    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:846: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 pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:852: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 pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/array.c:28: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(out, (GLvoid *)in, from_size);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:43:15:  [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 (list->open)
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:125: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).
    if (! list->open)
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:258: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(normal, list->lastNormal, sizeof(GLfloat) * 3);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:263: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(color, state.color, sizeof(GLfloat) * 4);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:268: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(tex, list->lastTex, sizeof(GLfloat) * 2);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:285: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(normal, list->lastNormal, sizeof(GLfloat) * 4);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:299: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(color, state.color, sizeof(GLfloat) * 4);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.c:343: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(tex, list->lastTex, sizeof(GLfloat) * 2);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/list.h:40:15:  [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).
    GLboolean open;
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.c:126: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(*dst, src, dst_size);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.c:169: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((GLvoid *)pos, (GLvoid *)pixel, pixel_size);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.c:183:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char filename[64];
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/pixel.c:194: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 *fd = fopen(filename, "w");
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:205: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(&cur->verts, &state.pointers.vertex, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:206: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(&cur->color, &state.pointers.color, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:207: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(&cur->normal, &state.pointers.normal, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:208: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(&cur->tex, &state.pointers.tex_coord, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:381: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(&state.pointers.vertex, &cur->verts, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:382: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(&state.pointers.color, &cur->color, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:383:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&state.pointers.normal, &cur->normal, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/stack.c:384: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(&state.pointers.tex_coord, &cur->tex, sizeof(pointer_state_t));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texgen.c:27: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(state.texgen.Sv, param, 4 * sizeof(GLfloat));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texgen.c:30: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(state.texgen.Tv, param, 4 * sizeof(GLfloat));
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/texture.c:103:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dst, src, width * pixelSize);
data/opencpn-5.2.4+dfsg/libs/glshim/src/glx/glx.c:151: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).
    fbdev = open("/dev/fb0", O_RDONLY);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:41: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 ub[4];
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:44: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 b[4];
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:464: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.
   assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:465:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:562:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:565:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:699:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:702:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:845:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:848:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:991:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:994:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:1137:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:1140:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:1284: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.
   assert(src == &((const char *)dataIn)[ysize*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:1285:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   assert((char *)dest == &((char *)dataOut)
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:4523: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(dstTrav,srcTrav,rowsize);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:6498:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:6564:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:6605:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:7714:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:8719:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:8768:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:8818:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/opencpn-5.2.4+dfsg/libs/glu/libutil/mipmap.c:8932:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/opencpn-5.2.4+dfsg/libs/iso8211/include/iso8211.h:133: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        _extendedCharSet[4];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffield.cpp:127: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).
        nMaxRepeat = atoi(getenv("DDF_MAXDUMP"));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffield.cpp:139: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.
            fprintf( fp, "\\%02X", ((unsigned char *) pachData)[i] );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:306: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( *ppachData + strlen(*ppachData), "%c", DDF_FIELD_TERMINATOR );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:400: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 seq[4];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:671: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).
            nRepeat = atoi(pszSrc+iSrc);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:111: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( _extendedCharSet, " ! " );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:239: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        achLeader[nLeaderSize];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:326: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( pachRecord, achLeader, nLeaderSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:359: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    szTag[128];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:464: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 achLeader[25];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:466: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( achLeader+0, "%05d", (int) _recLength );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:472: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( achLeader+10, "%02d", (int) _fieldControlLength );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:473: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( achLeader+12, "%05d", (int) _fieldAreaStart );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:474: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( achLeader+17, _extendedCharSet, 3 );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:475: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( achLeader+20, "%1d", (int) _sizeFieldLength );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:476: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( achLeader+21, "%1d", (int) _sizeFieldPos );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:478: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( achLeader+23, "%1d", (int) _sizeFieldTag );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:487: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 achDirEntry[12];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:493:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( achDirEntry + _sizeFieldTag, "%03d", nLength );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:494:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( achDirEntry + _sizeFieldTag + _sizeFieldLength,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:276: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 szLeader[nLeaderSize+1];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:280: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( szLeader+0, "%05d", nDataSize + (int)nLeaderSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:284: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( szLeader + 12, "%05d", nFieldOffset + (int)nLeaderSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:350: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        achLeader[nLeaderSize];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:491: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    szTag[128];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:572: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(newBuf, pachData, nDataSize);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:575: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(&newBuf[nDataSize], tmpBuf, nFieldEntryWidth);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:612: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(newBuf, pachData, nDataSize);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:614: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(&newBuf[nDataSize], tmpBuf, nFieldLength);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:627: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    szTag[128];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:959: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( poNR->pachData, pachData, nDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1076: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( poNR->pachData, pachData, nDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1250: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.
            pszOldDataLocation = (char *) paoFields[i].GetData();
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1263: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.
            pszOldDataLocation = (char *) paoFields[i].GetData();
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1307: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( paoNewFields, paoFields, sizeof(DDFField) * nFieldCount );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1411: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.
           memcpy( pachFieldData, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1434: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( pachFieldData + nOldSize, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1437: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( pachFieldData + nOldSize - 2, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1440: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( pachFieldData + nOldSize - 1, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1491: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( pachNewImage, poField->GetData(), nPreBytes );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1492: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( pachNewImage + nPreBytes + nRawDataSize,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1495: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( pachNewImage + nPreBytes, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1502: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( (void *) poField->GetData(), pachNewImage, nNewFieldSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1556: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( pachWrkData + nStartOffset, pachRawData, nRawDataSize );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1566: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( ((char*) poField->GetData()) + nPreBytes,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1589: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( ((char*) poField->GetData()) + nPreBytes,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1634: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( pachNewData + nDirSize,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1662: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      szFormat[128];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:1664:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szFormat, "%%%ds%%0%dd%%0%dd",
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:152:24:  [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).
        nFormatWidth = atoi(pszFormatString+2);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:183:24:  [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).
            CPLAssert( atoi(pszFormatString+2) % 8 == 0 );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:185: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).
            nFormatWidth = atoi(pszFormatString+2) / 8;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:198: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).
            nFormatWidth = atoi(pszFormatString+2);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:484: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( pachBuffer, pachSourceData, nLength );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:535: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   abyData[8] = {0,0,0,0,0,0,0,0};
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:555: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( abyData, pachSourceData, nFormatWidth );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:656: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).
        return atoi(ExtractStringData(pachSourceData, nMaxBytes,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:662: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   abyData[8] = {0,0,0,0,0,0,0,0};
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:690: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( abyData, pachSourceData, nFormatWidth );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:916: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( pachData, pszValue, MIN(nValueLength,nSize) );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:921: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( pachData, pszValue, MIN(nValueLength,nSize) );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:950: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 szWork[30];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:952: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( szWork, "%d", nNewValue );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1045: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 szWork[120];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1047: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( szWork, "%.16g", dfNewValue );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfutils.cpp:68: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        szWorking[33];
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfutils.cpp:73: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( szWorking, pszString, nMaxChars );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfutils.cpp:76: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).
    return( atoi(szWorking) );
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:28:18:  [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(inputbuffer)	memcpy(mCurrentCell->Item.Addy, inputbuffer, startsize);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:50: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).
	FILE* fp = fopen(filename, "rb");
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:150: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).
	FILE* fp = fopen(filename, "wb");
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:314: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(Addy, p->Item.Addy, p->Item.Size);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:321: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(Addy, p->Item.Addy, p->Item.Size);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:706:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:707:2:  [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(Text, "%d", (int)Bo);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:737:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:738:2:  [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(Text, "%d", b);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:753:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:754:2:  [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(Text, "%u", b);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:769:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:770:2:  [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(Text, "%d", w);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:785:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:786:2:  [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(Text, "%u", w);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:801:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:802:2:  [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(Text, "%ld", d);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:817:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:818:2:  [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(Text, "%lu", d);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:849:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:850:2:  [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(Text, "%u", d);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:865:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:866:2:  [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(Text, "%f", f);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:881:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char Text[256];
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:882:2:  [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(Text, "%f", f);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:946: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(Addresses, mAddresses, mNbAllocatedAddies * sizeof(void*));
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:1298: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* File = fopen(name, "rb");
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/RevisitedRadix.cpp:32:6:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void CopyMemory(void* dest, const void* src, udword size);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp:56:6:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void CopyMemory(void* dest, const void* src, udword size);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp:64:6:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void CopyMemory(void* dest, const void* src, udword size)
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp:66: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(dest, src, size);
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp:152:3:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		CopyMemory(Connectivity, Sorted, mAdj->mNbFaces*sizeof(udword));
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/Striper.cpp:232:3:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		CopyMemory(Tags, mTags, mAdj->mNbFaces*sizeof(bool));
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c:54: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(&a0, t,    32);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c:55: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(&a1, t+32, 32);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c:56: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(&a2, u,    32);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c:57: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(&a3, u+32, 32);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_avx2.c:74:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s, &a0, 32);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:55: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(&a0, t,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:56: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(&a1, t+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:57: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(&a2, t+32, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:58:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&a3, t+48, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:59: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(&a4, t+64, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:60: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(&a5, t+80, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:61: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(&a6, u,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:62: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(&a7, u+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:63: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(&a8, u+32, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:64: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(&a9, u+48, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:65: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(&aa, u+64, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:66: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(&ab, u+80, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:82: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(b,    &a0, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:83: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(b+16, &a1, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:84: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(b+32, &a2, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:85: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(b+48, &a3, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:86: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(b+64, &a4, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:87: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(b+80, &a5, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:105: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(&z, &a0, sizeof a0);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:108:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(z3, &a1, sizeof a1);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:115: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(&z, &a2, sizeof a2);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:128: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(z3, &a3, sizeof a3);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:134: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(&z, &a4, sizeof a4);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:146: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(z3, &a5, sizeof a5);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:159:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s,    &a0, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:160:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s+16, &a1, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:161:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s+32, &a2, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:193:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&a0, t,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.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(&a1, t+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:195:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&a2, u,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:196: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(&a3, u+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:205: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(&d0, &z.val[0], 16), memcpy(&d1, &z.val[1], 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:205:41:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&d0, &z.val[0], 16), memcpy(&d1, &z.val[1], 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_neon.c:210:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s, &a0, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c:54: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(&a0, t,   8);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c:55: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(&a1, t+8, 8);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c:56: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(&a2, u,   8);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c:57: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(&a3, u+8, 8);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse.c:69:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s, &a0, 8);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c:55: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(&a0, t,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c:56: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(&a1, t+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c:57: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(&a2, u,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c:58:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&a3, u+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_sse2.c:75:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s, &a0, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:58:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&a0, t,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:59: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(&a1, t+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:60: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(&a2, t+32, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:61: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(&a3, t+48, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:62: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(&a4, t+64, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:63: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(&a5, t+80, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:64: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(&a6, u,    16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:65: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(&a7, u+16, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:66: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(&a8, u+32, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:67: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(&a9, u+48, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:68: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(&aa, u+64, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:69: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(&ab, u+80, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:157:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s,    &a0, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:158:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s+16, &a1, 16);
data/opencpn-5.2.4+dfsg/libs/mipmap/src/mipmap_ssse3.c:159:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(s+32, &a2, 16);
data/opencpn-5.2.4+dfsg/libs/nmea0183/src/sentence.cpp:288: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).
    return( ::atoi( abuf.data() ));
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:108: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(&waveformat, &data[FMT_INDEX + 4], sizeof(WaveFormat));
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:132: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(&ul, &data[FMT_INDEX + waveformat.uiSize + 12], 4);
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:140: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(&ul, &data[FMT_INDEX + waveformat.uiSize + 12 + 12], 4);
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:163: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(const_cast<uint8_t*>(m_osdata->m_data.bytes),
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:183: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(buff, m_osdata->m_data.bytes + m_next, len);
data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp:40:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t sound_path[80];
data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp:41:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar( 0, 0, path, -1, sound_path, 80 );
data/opencpn-5.2.4+dfsg/libs/sound/src/SystemCmdSound.cpp:54:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buff[1024];
data/opencpn-5.2.4+dfsg/libs/sqlite/include/sqlite3.h:8540: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 hidden[48];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:9569: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 hidden[48];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:12579: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.
# define memcpy(D,S,N) {char*xxd=(char*)(D);const char*xxs=(const char*)(S);\
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:16460:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zSelName[12];     /* Symbolic name of this SELECT use for debugging */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:16653: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.
  typedef unsigned char yDbMask[(SQLITE_MAX_ATTACHED+9)/8];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:18233: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.
SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:20298: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 zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:20318: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 zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:20337: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 zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:20374:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:20561:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[20];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21579:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zTitle[100];  /* The title text */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21749: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(pBt, &aAddr[1], pHdr->nBacktrace*sizeof(void*));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21758: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(z, mem.zTitle, mem.nTitle);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21825: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(pNew, pPrior, (int)(nByte<pOldHdr->iSize ? nByte : pOldHdr->iSize));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21931: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(mem.zTitle, zTitle, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:21955:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  out = fopen(zFilename, "w");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:22544: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, pPrior, nOld);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:22546: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, pPrior, nBytes);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:22602: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).
    out = fopen(zFilename, "w");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:23101: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(p, pPrior, nOld);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:23222: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).
    out = fopen(zFilename, "w");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:25450: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(pNew, p, db->lookaside.sz);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:25497: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(zNew, z, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:25510: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(zNew, z, (size_t)n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:25798:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[etBUFSIZE];       /* Conversion buffer */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26088: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+(prefix!=0),"Inf",4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26397: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.
      if( !isMalloced(p) && p->nChar>0 ) memcpy(zNew, p->zText, p->nChar);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26433: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(&p->zText[p->nChar], z, N);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26453: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(&p->zText[p->nChar-N], z, N);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26474: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(p->zText, p->zBase, p->nChar+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26534:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBase[SQLITE_PRINT_BUF_SIZE];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26567:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBase[SQLITE_PRINT_BUF_SIZE];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26654:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zMsg[SQLITE_PRINT_BUF_SIZE*3];    /* Complete log message */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26683:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[500];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26764:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[500];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26806: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 zLine[1000];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26873: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 zLine[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:26948:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zFlgs[60];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27268: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 s[256];          /* State variables */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27321: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 k[256];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27362: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/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27369: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/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27873: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 zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:27983: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 zBuf[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:28142: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 zBuf[20];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:28858: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(pOut, &u, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:28899: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(pValue, &u, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29332: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(&x,p,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29336: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(&x,p,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29340: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(&x,p,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29349: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,&v,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29352: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,&x,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29355: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,&x,4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29623: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(&a, &x, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:29720: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(z, zName, nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:30473:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aPadding[32];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:30757:10:  [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).
  return open(zFile, flags, mode);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:31332: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(pNew->zCanonicalName, zAbsoluteName, n+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:31517:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aSemName[MAX_PATHNAME+2];  /* Name of that semaphore */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:31557:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aErr[80];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:31745: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(&pInode->fileId, &fileId, sizeof(fileId));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33615: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(pBuf, &((u8 *)(pFile->pMapRegion))[offset], amt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33619: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(pBuf, &((u8 *)(pFile->pMapRegion))[offset], nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33734: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 oldCntr[4];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33750: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(&((u8 *)(pFile->pMapRegion))[offset], pBuf, amt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33754: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(&((u8 *)(pFile->pMapRegion))[offset], pBuf, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33937:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zDirname[MAX_PATHNAME+1];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36011: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 zDb[MAX_PATHNAME+1];     /* Database file path */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36040: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(zDb, zPath, nDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36121:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zTmpname[MAX_PATHNAME+2];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36301: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).
      useProxy = atoi(envforce)>0;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36503: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(zDel, zIn, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36618: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(zBuf, &t, sizeof(t));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36619: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(&zBuf[sizeof(t)], &randomnessPid, sizeof(randomnessPid));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36962:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[MAXPATHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37140:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char tPath[MAXPATHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37141:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[PROXY_MAXCONCHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37145:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char errmsg[64] = "";
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37234:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char tBuf[PROXY_MAXCONCHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37284: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 readBuf[PROXY_MAXCONCHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37285: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 lockPath[MAXPATHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37341: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(lockPath, &readBuf[PROXY_PATHINDEX], pathLen);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37387: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 writeBuffer[PROXY_MAXCONCHLEN];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37391: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(&writeBuffer[PROXY_HEADERLEN], myHostID, PROXY_HOSTIDLEN);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37538: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(conchPath, dbPath, len+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37554: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(&conchPath[i+1], "-conch", 7);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37614: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(dbPath, (char *)pFile->lockingContext, len + 1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37633:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char dbPath[MAXPATHLEN+1];       /* Name of the database file */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:39175:41:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  { "MultiByteToWideChar",     (SYSCALL)MultiByteToWideChar,     0 },
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:39593:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zDbgBuf[SQLITE_WIN32_DBG_BUF_SIZE];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:39606: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(zDbgBuf, zBuf, nMin);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:39622: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(zDbgBuf, zBuf, nMin);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:40308:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zMsg[500];                 /* Human readable error text */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:40962: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(pBuf, &((u8 *)(pFile->pMapRegion))[offset], amt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:40968: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(pBuf, &((u8 *)(pFile->pMapRegion))[offset], nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:41040: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(&((u8 *)(pFile->pMapRegion))[offset], pBuf, amt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:41046: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(&((u8 *)(pFile->pMapRegion))[offset], pBuf, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:44460: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(aiValues, p->u.aHash, sizeof(p->u.aHash));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:44500: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(aiValues, p->u.aHash, sizeof(p->u.aHash));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48122:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char dbFileVers[16];        /* Changes whenever database file changes */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48439: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 zRet[1024];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48547: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 ac[4];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48566:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char ac[4];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48738: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 aMagic[8];   /* A buffer to hold the magic header */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48830: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 zeroHdr[28] = {0};
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48918: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(zHeader, aJournalMagic, sizeof(aJournalMagic));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:48995: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 aMagic[8];     /* A buffer to hold the magic header */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:49904: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(pData, (u8*)aData, pPager->pageSize);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:51694: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(zHeader, aJournalMagic, sizeof(aJournalMagic));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52216: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(pPager->zFilename, zPathname, nPathname);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52217: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( nUri ) memcpy(&pPager->zFilename[nPathname+1], zUri, nUri);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52218: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(pPager->zJournal, zPathname, nPathname);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52219: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(&pPager->zJournal[nPathname], "-journal\000", 8+2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52223: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(pPager->zWal, zPathname, nPathname);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52224: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(&pPager->zWal[nPathname], "-wal\000", 4+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:52715: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 dbFileVers[sizeof(pPager->dbFileVers)];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:53658: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.
          const void *pCopy = (const void *)&((const char *)zBuf)[24];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:55675: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*)&aHdr[1], (const void*)&pWal->hdr, sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:55677: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*)&aHdr[0], (const void*)&pWal->hdr, sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:55706: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(&aFrame[8], pWal->hdr.aSalt, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:55787: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 zName[15];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:56155: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(&pWal->hdr.aSalt, &aBuf[16], 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:56460: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(aLeft, aTmp, sizeof(aTmp[0])*iOut);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:56687: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(&pWal->hdr.aSalt[1], &salt1, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:57047: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(&pWal->hdr, &h1, sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:57543: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(&pWal->hdr, pSnapshot, sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:57795: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(&pWal->hdr, (void *)walIndexHdr(pWal), sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:58103: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(&aWalHdr[16], pWal->hdr.aSalt, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:58493: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(pRet, &pWal->hdr, sizeof(WalIndexHdr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:60999: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(&temp[x], &data[x], (cbrk+size) - x);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:61002: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[cbrk], &src[pc], size);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:61067: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(&aData[iAddr], &aData[pc], 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:61773: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 zDbHeader[100];  /* Database header content */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:61835: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(zFullPathname, zFilename, nFilename);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:62718: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, zMagicHeader, sizeof(zMagicHeader));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:64065: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(pPayload, pBuf, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:64068: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(pBuf, pPayload, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:64252: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(aSave, aWrite, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:64255: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(aWrite, aSave, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65323: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(&pPage1->aData[32], &pTrunk->aData[0], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65347: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(&pPage1->aData[32], &pTrunk->aData[0], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65353: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(&pPrevTrunk->aData[0], &pTrunk->aData[0], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65376: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(&pNewTrunk->aData[0], &pTrunk->aData[0], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65378: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(&pNewTrunk->aData[8], &pTrunk->aData[12], (k-1)*4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65443: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(&aData[8+closest*4], &aData[4+k*4], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:65916: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(pPayload, pSrc, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66022: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(pTemp, pCell, sz);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66060: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[idx], pCell, sz);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66157: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(&pTmp[i], &aData[i], usableSize - i);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66169: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(pData, pCell, szCell[i]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66332: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(pTmp, aData, pPg->pBt->usableSize);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66608: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(&aTo[iData], &aFrom[iData], pBt->usableSize-iData);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66609: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(&aTo[iToHdr], &aFrom[iFromHdr], pFrom->cellOffset + 2*pFrom->nCell);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66803: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(&aOvflSpace[iOff], apDiv[i], szNew[i]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66919: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(pTemp, apDiv[i], sz);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:66928: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(b.apCell[b.nCell], &pOld->aData[8], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67166: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(&apNew[nNew-1]->aData[8], &pOld->aData[8], 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67240: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(&pNew->aData[8], pCell, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67468: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(pChild->aiOvfl, pRoot->aiOvfl,
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67470: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(pChild->apOvfl, pRoot->apOvfl,
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67754: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(newCell, oldCell, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67771: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(oldCell, newCell, szNew);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:67827: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(pCur->pKey, pX->pKey, pX->nKey);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:69057:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zErr[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:69747: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(zOut, zIn, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:70422: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(pMem->zMalloc, pMem->z, pMem->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:70619: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(pMem, &t, sizeof(t));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:71091: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(pTo, pFrom, MEMCELLSIZE);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:71108: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(pTo, pFrom, MEMCELLSIZE);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:71132: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(pTo, pFrom, sizeof(Mem));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:71207: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(pMem->z, z, nAlloc);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:72309: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( p4copy ) memcpy(p4copy, zP4, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:73161:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zAlt[50];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:73505:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zPtr[50];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:73506:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zCom[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:73825: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 z[1000];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:74917: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).
    FILE *out = fopen("vdbe_profile.out", "a");
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:74936: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 zHdr[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:75374: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.
    if( len>0 ) memcpy(buf, pMem->z, len);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:75431: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(&pMem->u.r, &x, sizeof(x));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:77003: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(pNew, pOrig, MEMCELLSIZE);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:78778:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBase[100];         /* Initial working space */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:79367: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 zBuf[200];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:80407: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(pOut->z, pIn2->z, pIn2->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:80409: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(&pOut->z[pIn2->n], pIn1->z, pIn1->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:81553: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(pDest->z, zData, len);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:81866: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(pNew->zName, zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:87269: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(p->aAlloc, &p->aBuffer[iBuf], nAvail);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:87285: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->aAlloc[nByte - nRem], aNext, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:87691: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(pKeyInfo, pCsr->pKeyInfo, szKeyInfo);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:88202: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(&p->aBuffer[p->iBufEnd], &pData[nData-nRem], nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:88579: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(SRVAL(pNew), pVal->z, pVal->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:89417: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(pOut->z, pKey, nKey);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:89599: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(zOut, (u8*)pChunk->zChunk + iChunkOffset, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:89696: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((u8*)p->pFirst->zChunk, zBuf, iAmt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:89724: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((u8*)p->endpoint.pChunk->zChunk + iChunkOffset, zWrite, iSpace);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:90150: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(pExpr, pDup, sizeof(*pExpr));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:92346:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        if( pToken->n ) memcpy(pNew->u.zToken, pToken->z, pToken->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:92787: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(zAlloc, p, nNewSize);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:92790: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(zAlloc, p, nSize);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:92804: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(zToken, p->u.zToken, nToken);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:97655: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(pNew->aCol, pTab->aCol, sizeof(Column)*pNew->nCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:97999: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(p->u.aRowid, pData, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:98026: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(pTo->anEq, pFrom->anEq, sizeof(tRowcnt)*p->nCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:98027: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(pTo->anLt, pFrom->anLt, sizeof(tRowcnt)*p->nCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:98028: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(pTo->anDLt, pFrom->anDLt, sizeof(tRowcnt)*p->nCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99466: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(pSample->p, sqlite3_column_blob(pStmt, 4), pSample->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99672: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.
  zFile = (const char *)sqlite3_value_text(argv[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99673: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.
  zName = (const char *)sqlite3_value_text(argv[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99708: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(aNew, db->aDb, sizeof(db->aDb[0])*2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99783: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.
        zKey = (char *)sqlite3_value_blob(argv[2]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99861:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 *zName = (const char *)sqlite3_value_text(argv[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:99865:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zErr[128];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:100712:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char saveBuf[PARSE_TAIL_SZ];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:100723: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(saveBuf, PARSE_TAIL(pParse), PARSE_TAIL_SZ);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:100728: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(PARSE_TAIL(pParse), saveBuf, PARSE_TAIL_SZ);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:100965: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(db->aDbStatic, db->aDb, 2*sizeof(db->aDb[0]));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:101526: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(z, pName->z, pName->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:101557: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(zType, pType->z, pType->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:102052: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(&zStmt[k], zType, len);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:102072: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(zExtra, pIdx->azColl, sizeof(char*)*pIdx->nColumn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:102075: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(zExtra, pIdx->aiColumn, sizeof(i16)*pIdx->nColumn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:102078: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(zExtra, pIdx->aSortOrder, pIdx->nColumn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:102883: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 zTab[24];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:103135: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(z, pTo->z, pTo->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:103163: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(z, pToCol->a[i].zName, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:103578: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(pIndex->zName, zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:103651: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(zExtra, zColl, nColl);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:103930: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(&a[1], aVal, nCopy*sizeof(LogEst));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:104960: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(pColl, pColl2, sizeof(CollSeq));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:105070: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(pColl[0].zName, zName, nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:105311: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((char*)&pBest[1], zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107297: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 zBuf[50];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107541: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(&zOut[j], zRep, nRep);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107547: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(&zOut[j], &zStr[i], nStr-i);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107675:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zResult[8];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107724:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 *zFile = (const char *)sqlite3_value_text(argv[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:107738: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.
    zProc = (const char *)sqlite3_value_text(argv[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:108032: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(aWc, pDef->pUserData, 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:109475: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((char *)pStep->zTarget, zFrom, nFrom);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112139:10:  [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).
  int  (*open)(const char*,sqlite3**);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:112422:53:  [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).
#define sqlite3_open                   sqlite3_api->open
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:113124: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(zAltEntry, "sqlite3_", 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:113133: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(zAltEntry+iEntry, "_init", 6);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:113169: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(aHandle, db->aExtension, sizeof(handle)*db->nExtension);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:114381:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *aFcntl[4];       /* Argument to SQLITE_FCNTL_PRAGMA */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:116169: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 zKey[40];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:116232:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *azArg[2];           /* Value of the argument and schema */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:116251:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[200];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:116670:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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 *azArg[4];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:119243: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(&pCol->zName[n+1], zType, m+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:123564: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(z, argv[i], n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:124049: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(z, pName->z, pName->n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:126065: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(zCopy, zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:127104: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*)&pNew[1], pDef->zName, sqlite3Strlen30(pDef->zName)+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:127965: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 zBuf[100];               /* Initial space for EQP output string */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:128619: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 d2[3];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:129616: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(pOrTab->a, pTabItem, sizeof(*pTabItem));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:130052: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(pWC->a, pOld, sizeof(pWC->a[0])*pWC->nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:130179:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wc[3];                /* Wildcard characters */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:131548: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(aiCur, pWInfo->aiCurOnePass, sizeof(int)*2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:131564: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(pDest->a, pSrc->a, pDest->n*sizeof(pDest->a[0]));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133130: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 zType[4];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133131: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 zLeft[50];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133132: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(zType, "...", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133269: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(paNew, p->aLTerm, sizeof(p->aLTerm[0])*p->nLSlot);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133285: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(pTo, pFrom, WHERE_LOOP_XFER_SZ);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:133286: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(pTo->aLTerm, pFrom->aLTerm, pTo->nLTerm*sizeof(pTo->aLTerm[0]));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:135240: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 zName[65];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:135543: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(pTo->aLoop, pFrom->aLoop, sizeof(WhereLoop*)*iLoop);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:136676: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->u.zToken, t.z, t.n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:140463: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 zKWText[553] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:140497: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.
static const unsigned char aKWHash[127] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:140512: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.
static const unsigned char aKWNext[124] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:140525: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.
static const unsigned char aKWLen[124] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:140552: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.
static const unsigned char aKWCode[124] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:141871: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(&y, &x, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:142988: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 zBuf[50];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:144360: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(zFile, zUri, nUri);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:144714: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 zDecoded[40];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:144953:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zMsg[100];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:146033: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(pNew, aArg, nArg*sizeof(void *));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148095: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(p, zCol, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148392: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->aIndex, aIndex, sizeof(struct Fts3Index) * nIndex);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148402: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(zCsr, argv[2], nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148405: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(zCsr, argv[1], nDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148412: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.
    z = (char *)sqlite3Fts3NextToken(aCol[iCol], &n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148414: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(zCsr, z, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148420: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.
    assert( zCsr <= &((char *)p)[nByte] );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148886: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(&zBuffer[nPrefix], zCsr, nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:149038: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(p, *ppPoslist, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:149076: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(p, *ppPoslist, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:149401:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *aaOutput[16];             /* Malloc'd output buffers */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:149793: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(pTS->aaOutput[0], aDoclist, nDoclist);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:150712: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.
      zArg = (const char *)sqlite3_value_text(apVal[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:151611: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(aDoclist, a[p->nToken-1].pList, nByte+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153082: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 *)p->pFts3Tab->zDb, zDb, nDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153083: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 *)p->pFts3Tab->zName, zFts3, nFts3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153740: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(pRet->pPhrase->aToken[0].z, zToken, nToken);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153855: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(&zTemp[nTemp], zByte, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153883: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(zBuf, zTemp, nTemp);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154656: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((void *)pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154755: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.
                          (const char *)sqlite3_value_text(argv[0]), &pModule);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154772: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.
  zExpr = (const char *)sqlite3_value_text(argv[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154781: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.
    azCol[ii] = (char *)sqlite3_value_text(argv[ii+2]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:155205: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((void*)new_elem->pKey, pKey, nKey);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:155565:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zReverse[28];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156163: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 *azArg[64];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156180: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.
  zName = (const char *)sqlite3_value_text(argv[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156182: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.
  zInput = (const char *)sqlite3_value_text(argv[argc-1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156198:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    azArg[i-1] = (const char *)sqlite3_value_text(argv[i]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156279: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((void *)pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156443:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char delim[128];             /* flag ASCII delimiters */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156776: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(pSpace, argv[i], n+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156990: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.
    const char *zByte = (const char *)sqlite3_value_text(apVal[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156996: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(pCsr->zInput, zByte, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:158027: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.
      const char *zText = (const char *)sqlite3_value_text(apVal[i]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:158437: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(aCopy, pList->aData, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:158496: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(&pReader->zTerm[nPrefix], pNext, nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:158728: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(pReader->aNode, zRoot, nRoot);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:158851: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(pReader->ppNextElem, aElem, nElem*sizeof(Fts3HashElem *));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159142: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(&pTree->aData[nData], &zTerm[nPrefix], nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159156: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(pTree->zTerm, zTerm, nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159406: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(&pWriter->aData[nData], &zTerm[nPrefix], nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159409: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(&pWriter->aData[nData], aDoclist, nDoclist);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159428: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(pWriter->zTerm, zTerm, nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:159736: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(pMsr->aBuffer, pList, nList);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:160080: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(&pCsr->aBuffer[nDoclist], pList, nList);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:160832: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->term.a[nPrefix], &p->aNode[p->iOff], nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:160936: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(&pBlk->a[pBlk->n], &zTerm[nPrefix], nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:160939: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(pNode->key.a, zTerm, nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161012: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(pPrev->a, zTerm, nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161019: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(&pNode->a[pNode->n], &zTerm[nPrefix], nSuffix);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161024: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(&pNode->a[pNode->n], aDoclist, nDoclist);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161355: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(pNode->block.a, aRoot, nRoot);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161367: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(pNode->key.a, reader.term.a, reader.term.n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161377: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(pNode->block.a, aBlock, nBlock);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:161841: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(pHint->a, aHint, nHint);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162407:20:  [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).
    p->nNodeSize = atoi(&zVal[9]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162410: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).
    p->nMaxPendingData = atoi(&zVal[11]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162413: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).
    p->bNoIncrDoclist = atoi(&zVal[21]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162535: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(pRet, &p->pList->aData[nSkip], *pnData);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162928: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(pRet->zMatchinfo, zMatchinfo, nStr+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162969:24:  [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( p->bGlobal ) memcpy(aOut, &p->aMatchinfo[1], p->nElem*sizeof(u32));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162979: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->aMatchinfo[2+p->nElem], &p->aMatchinfo[1], p->nElem*sizeof(u32));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:163403: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(&pStr->z[pStr->n], zAppend, nAppend);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:164433: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 aBuffer[64];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165699: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(&x, p, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165703: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(&x, p, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165707: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(&x, p, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165739: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, &i, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165742: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, &i, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165745: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, &i, 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165758: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, &i, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165761: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, &i, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:165763: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, &i, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:166321: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(&c.u,a,4);                                           \
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:166329: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(&c.u,a,4);                                           \
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:166911: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(pBlob, pSrc, pSrc->iSize);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167073:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zIdxStr[RTREE_MAX_DIMENSIONS*8+1];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167235: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(&cell, p, sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167417: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(aSpare, aLeft, sizeof(int)*nLeft);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167486: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(aSpare, aLeft, sizeof(int)*nLeft);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167577: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(&left, &aCell[aaSorted[ii][0]], sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167578: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(&right, &aCell[aaSorted[ii][nCell-1]], sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167607: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(pBboxLeft, &aCell[aaSorted[iBestDim][0]], sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167608: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(pBboxRight, &aCell[aaSorted[iBestDim][iBestSplit]], sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167675: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(&aCell[nCell], pCell, sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:167967: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(&aCell[ii], pCell, sizeof(RtreeCell));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168545: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 *azSql[N_STATEMENT] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168738: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(pRtree->zDb, argv[1], nDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168739: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(pRtree->zName, argv[2], nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168816: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 zCell[512];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169275:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zBuf[128];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169405: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.
    zLocale = (const char *)sqlite3_value_text(apArg[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169505: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.
  zLocale = (const char *)sqlite3_value_text(apArg[0]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169506: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.
  zName = (const char *)sqlite3_value_text(apArg[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169656: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(p->zLocale, argv[0], n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:170784:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zStateDb[5];               /* Db name for state ("stat" or "main") */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:170989: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(zOut, &zSrc[ofst], cnt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:171004: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(zOut, zDelta, cnt);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:171494: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(zRet, zStr, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:171647: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(pIter->abIndexed, pIter->abTblPk, sizeof(u8)*pIter->nTblCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172636: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(pUp->zMask, zMask, pIter->nTblCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172789: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(p->zStateDb, "stat", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172791: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(p->zStateDb, "main", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173157:11:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  nChar = MultiByteToWideChar(CP_UTF8, 0, zFilename, -1, NULL, 0);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173166:11:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  nChar = MultiByteToWideChar(CP_UTF8, 0, zFilename, -1, zWideFilename,
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173835:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zRnd[64];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173978: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(p->zTarget, zTarget, nTarget+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173982: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->zRbu, zRbu, nRbu+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:174957: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(zCopy, zBase, nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:175210: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(&pNew->base, &vfs_template, sizeof(sqlite3_vfs));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:175215: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(zSpace, zName, nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176302: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(&i, &r, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176326: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.
          if( n ) memcpy(&aBuf[nVarint + 1], z, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176432: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(&iVal, &rVal, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176587: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(aOut, a2, n2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176590: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(aOut, a1, n1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176685: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(aOut, aOld, nOld);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176713: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(aOut, aNew, nNew);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176775: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(&rVal, &iVal, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176923: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(pAlloc, zThis, nThis+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:176933: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(pAlloc, zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177519: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(pNew->zDb, zDb, nDb+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177643: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(pTab->zName, zName, nName+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177743: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(&p->aBuf[p->nBuf], aBlob, nBlob);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177763: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(&p->aBuf[p->nBuf], zStr, nStr);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177781:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aBuf[24];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177836: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(&i, &r, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:177919: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(&dVal, &iVal, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:178111: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(&rVal, &iVal, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:178535: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(aCopy, aData, nData);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:178605: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(&d, &v, 8);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:178725: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(&p->tblhdr.aBuf[iPK], &p->in.aData[p->in.iNext], nCopy);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180189: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(pNew->aRecord, aRec, nRec);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180243: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(aCsr, aRec, nRec);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180268: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(aCsr, aRec, nRec);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180338: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(pTab->abPK, abPK, nCol);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180340: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(pTab->zName, zNew, nNew+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180720:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zSpace[100];        /* Initial static space */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180845: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(zNew, p->zBuf, (size_t)p->nUsed);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180864: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->zBuf+p->nUsed, zIn, N);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:181616: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*)p->zJson, zJson, nJson+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:182831: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->zJson, z, (size_t)n+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:182853: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->zRoot, zRoot, (size_t)n+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:186512: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(&pBuf->p[pBuf->n], pData, nData);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:186716: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(zRet, pIn, nIn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:186811: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(pEntry->pTerm, pTerm, nTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187151: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(pSpace, p2, p-p2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187273: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(zOut, zIn, nIn+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187617: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.
      if( zRank ) memcpy(zRank, pRank, p-pRank);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187637: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.
          if( zRankArgs ) memcpy(zRankArgs, pArgs, p-pArgs);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:188159: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(aNew, aIter, sizeof(Fts5PoslistReader) * nIter);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189344: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(pSyn->zTerm, pToken, nToken);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189500: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(pColset, pColsetOrig, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189713: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(pRet, pOrig, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189840: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(&p->apChild[p->nChild], pSub->apChild, nByte);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:190893: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(&zKey[1], pToken, nToken);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:192251: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(&(pBuf)->p[(pBuf)->n], pBlob, nBlob);             \
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:192349: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(pOut->aSeg, &pLvl->aSeg[is], sizeof(Fts5StructureSegment));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:196250: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.
      if( doclist.n ) memcpy(pData->p, doclist.p, doclist.n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:196489:18:  [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( nToken ) memcpy(&buf.p[1], pToken, nToken);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:197420: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(a, aBlob, n);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200108: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(pAux->zFunc, zName, nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200146: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(pNew->zName, zName, nName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201550: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 aAsciiTokenChar[128] = {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201563: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 aTokenChar[128];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201606: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->aTokenChar, aAsciiTokenChar, sizeof(aAsciiTokenChar));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201654:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aFold[64];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201759: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 aTokenChar[128];  /* ASCII range token characters */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201870: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->aTokenChar, aAsciiTokenChar, sizeof(aAsciiTokenChar));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201978: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(aFold, p->aFold, nFold);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202032:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char aBuf[FTS5_PORTER_MAX_TOKEN + 64];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202119: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(&aBuf[nStem], p->zOutput, p->nOutput);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202358: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(&aBuf[nBuf-2], "ate", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202366: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(&aBuf[nBuf-2], "ble", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202374: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(&aBuf[nBuf-2], "ize", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202393: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(&aBuf[nBuf-7], "ate", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202398: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(&aBuf[nBuf-6], "tion", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202407: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(&aBuf[nBuf-4], "ence", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202412: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(&aBuf[nBuf-4], "ance", 4);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202421: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(&aBuf[nBuf-4], "ize", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202430: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(&aBuf[nBuf-4], "log", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202439: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(&aBuf[nBuf-3], "ble", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202444: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(&aBuf[nBuf-4], "al", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202449: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(&aBuf[nBuf-5], "ent", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202454: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(&aBuf[nBuf-3], "e", 1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202459: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(&aBuf[nBuf-5], "ous", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202468: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(&aBuf[nBuf-7], "ize", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202473: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(&aBuf[nBuf-5], "ate", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202478: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(&aBuf[nBuf-4], "ate", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202487: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(&aBuf[nBuf-5], "al", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202492: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(&aBuf[nBuf-7], "ive", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202497: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(&aBuf[nBuf-7], "ful", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202502: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(&aBuf[nBuf-7], "ous", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202511: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(&aBuf[nBuf-5], "al", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202516: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(&aBuf[nBuf-5], "ive", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202521: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(&aBuf[nBuf-6], "ble", 3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202540: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(&aBuf[nBuf-4], "ic", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202557: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(&aBuf[nBuf-5], "ic", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202562: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(&aBuf[nBuf-5], "ic", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202587: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(&aBuf[nBuf-5], "al", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202606: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(&aBuf[nBuf-3], "ee", 2);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202669: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(aBuf, pToken, nBuf);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:203674: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(pRet->zFts5Tbl, zTab, nTab);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:203675: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(pRet->zFts5Db, zDb, nDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:204018: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(pCsr->zLeTerm, zCopy, pCsr->nLeTerm+1);
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:58: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 buffer[64];   /*!< data block being processed */
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:60: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 ipad[64];     /*!< HMAC: inner padding        */
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:61: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 opad[64];     /*!< HMAC: outer padding        */
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:87: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 sha1_finish( sha1_context *ctx, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:90: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.
void sha1_process( sha1_context *ctx, const unsigned char data[64] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:111: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.
void sha1( const unsigned char *input, size_t ilen, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:111: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.
void sha1( const unsigned char *input, size_t ilen, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:121:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
int sha1_file( const char *path, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:121: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.
int sha1_file( const char *path, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:147: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 sha1_hmac_finish( sha1_context *ctx, unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:165: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 sha1_hmac( const unsigned char *key, size_t keylen,
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:166: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.
                const unsigned char *input, size_t ilen,
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/include/ssl/sha1.h:167:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                unsigned char output[20] );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:90: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.
void sha1_process( sha1_context *ctx, const unsigned char data[64] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:268: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( (void *) (ctx->buffer + left), input, fill );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:283: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( (void *) (ctx->buffer + left), input, ilen );
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:286: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.
static const unsigned char sha1_padding[64] =
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:297: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 sha1_finish( sha1_context *ctx, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:301: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 msglen[8];
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:328: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.
void sha1( const unsigned char *input, size_t ilen, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:328: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.
void sha1( const unsigned char *input, size_t ilen, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:343:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
int sha1_file( const char *path, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:343: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.
int sha1_file( const char *path, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:348: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 buf[1024];
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:350: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).
    if( ( f = fopen( path, "rb" ) ) == NULL )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:379: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 sum[20];
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:414: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 sha1_hmac_finish( sha1_context *ctx, unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:416: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 tmpbuf[20];
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:439: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 sha1_hmac( const unsigned char *key, size_t keylen,
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:440: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.
                const unsigned char *input, size_t ilen,
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:441:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                unsigned char output[20] )
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:456: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 sha1_test_buf[3][57] = 
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:468: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.
static const unsigned char sha1_test_sum[3][20] =
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:481: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 sha1_hmac_test_key[7][26] =
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:501: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 sha1_hmac_test_buf[7][74] =
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:526: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.
static const unsigned char sha1_hmac_test_sum[7][20] =
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:550: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 buf[1024];
data/opencpn-5.2.4+dfsg/libs/ssl_sha1/src/sha1.c:551: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 sha1sum[20];
data/opencpn-5.2.4+dfsg/libs/texcmp/etcpak.cpp:215: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( b23[1]+i*6, src+i*12,   6 );
data/opencpn-5.2.4+dfsg/libs/texcmp/etcpak.cpp:216: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( b23[0]+i*6, src+i*12+6, 6 );
data/opencpn-5.2.4+dfsg/libs/texcmp/squish/colourset.cpp:128:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(m_points[m_count], rgba + 4*i, 3);
data/opencpn-5.2.4+dfsg/libs/texcmp/squish/singlecolourfitfast.cpp:39:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_colour, values, 3);
data/opencpn-5.2.4+dfsg/libs/texcmp/squish/twocolourfitfast.cpp:54:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(m_colour, values, 6);
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:1139: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 ues[8];        // stores a Unicode Escaped Esquence: \uXXXX
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:1583:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[16];
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:1803: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 temp[16];    // the UTF-8 code-point
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:1821:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t dst[10];
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:1858: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 cu[2];
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:762: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 b[8];
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:917:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:939: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:973:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:993: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1024:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1125: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[16];
data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/base.h:635: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                    m_szDetailedErrorBuffer[CURL_ERROR_SIZE];
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h:141: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.
typedef char
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h:151: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.
typedef char
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h:161: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.
typedef char
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h:171: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.
typedef char
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/include/curl/curlrules.h:181: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.
typedef char
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:80: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(name,label+1,*label);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:133: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 label[256], *l;
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:174: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(*bufp,label,len);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:208: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(rr[i].rdata,*bufp,rr[i].rdlength);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:217: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(rr[i].known.a.name,"%d.%d.%d.%d",(*bufp)[0],(*bufp)[1],(*bufp)[2],(*bufp)[3]);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.c:362: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(m->_buf,rdata,rdlength);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.h:56: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 *_buf, *_labels[20];
data/opencpn-5.2.4+dfsg/libs/wxservdisc/1035.h:60: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 _packet[MAX_PACKET_LEN];
data/opencpn-5.2.4+dfsg/libs/wxservdisc/mdnsd.c:384: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(c->rr.rdata,r->rdata,r->rdlength);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/mdnsd.c:806: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(r->rr.rdata,data,len);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/wxServDisc.cpp:204: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.
  static unsigned char buf[MAX_PACKET_LEN];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartdldr_pi.cpp:1955: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 buffer[1024];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:96: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.
#define PUGI__STATIC_ASSERT(cond) { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; }
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:107: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.
using std::memcpy;
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:1818: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 unsigned char chartype_table[256] =
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:1848: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 unsigned char chartypex_table[256] =
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:2033: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(buffer, contents, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:2209: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(buffer, data, prefix_length);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:2352: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(dest, source, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:2368: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(buf, source, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:3741: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 + bufsize, data, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:3751: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(buffer + offset, data, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4628:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[128];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4629: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(buf, "%.9g", value);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4637:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[128];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4638: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(buf, "%.17g", value);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4855: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(write, chunk->data, chunk->size);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4964:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char mode_ascii[4] = {0};
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4968: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).
		FILE* result = fopen(path_utf8, mode_ascii);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:6119: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(&result[offset], j->name, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:6944:27:  [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_deleter<FILE> file(fopen(path_, "rb"), impl::close_file);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7027:27:  [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_deleter<FILE> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), impl::close_file);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7383: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 data[xpath_memory_page_size];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7478: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(result, ptr, old_size);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7601: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(result, string, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7659:22:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				if (!_uses_heap) memcpy(result, _buffer, target_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7662: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(result + target_length, o._buffer, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8069: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(buffer, "%.*e", DBL_DIG, value);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8077: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 exponent = atoi(exponent_string + 1);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8104:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char mantissa_buffer[32];
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8220: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(scratch, begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8375: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 table[128] = {0};
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8401: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(result, table, sizeof(table));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8519: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(result->name, name, (length + 1) * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8611: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(scratch, begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8753: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(_end, begin_, count * sizeof(xpath_node));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:10953: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(c, value.begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:11925: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(storage, begin_, size_ * sizeof(xpath_node));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:12134: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(copy, value, size);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:12458: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, r.c_str(), (size - 1) * sizeof(char_t));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.hpp:978:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char _memory[192];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/sentence.cpp:273: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).
    return( ::atoi( abuf.data() ));
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:1138: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 ues[8];        // stores a Unicode Escaped Esquence: \uXXXX
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:1582:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[16];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:1802: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 temp[16];    // the UTF-8 code-point
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:1820:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t dst[10];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:1857: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 cu[2];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:760: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 b[8];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:915:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:937: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:971:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:991: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1022:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1123: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[16];
data/opencpn-5.2.4+dfsg/plugins/demo_pi_sample/src/nmea0183/sentence.cpp:288: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).
    return( ::atoi( abuf.data() ));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:726:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:888:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[8];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:462:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[MAXLINELEN + 1];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:463:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char sbuf[MAXLINELEN + 1];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:285: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).
	if ((obj->fd = open(filename, openflags, JAS_STREAM_PERMS)) < 0) {
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:374:17:  [2] (tmpfile) mkstemp:
  Potential for temporary file vulnerability in some circumstances. Some
  older Unix-like systems create temp files with permission to write by all
  by default, so be sure to set the umask to override this. Also, some older
  Unix systems might fail to use O_EXCL when opening the file, so make sure
  that O_EXCL is used by the library (CWE-377).
	if ((obj->fd = mkstemp(obj->pathname)) < 0) {
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:555:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[4096];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:910: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.
	unsigned char buf[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:988: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(buf, &m->buf_[m->pos_], cnt);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:1042: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(&m->buf_[m->pos_], buf, ret);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/include/jasper/jas_stream.h:270:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char pathname[JAS_PATH_MAX + 1];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_dec.c:445:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[JP2_VALIDATELEN];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jp2/jp2_enc.c:351:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[4096];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_cs.c:1639: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.
	unsigned char buf[2];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_dec.c:322:20:  [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).
			opts->maxlyrs = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_dec.c:325: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).
			opts->debug = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_dec.c:328:20:  [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).
			opts->maxpkts = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:456: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).
			cp->debug = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:459: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).
			cp->imgareatlx = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:462: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).
			cp->imgareatly = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:465: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).
			cp->tilegrdoffx = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:468: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).
			cp->tilegrdoffy = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:471:20:  [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).
			cp->tilewidth = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:474: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).
			cp->tileheight = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:477: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).
			prcwidthexpn = jpc_floorlog2(atoi(jas_tvparser_getval(tvp)));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:480:34:  [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).
			prcheightexpn = jpc_floorlog2(atoi(jas_tvparser_getval(tvp)));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:484:20:  [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).
			  jpc_floorlog2(atoi(jas_tvparser_getval(tvp)));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:488:20:  [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).
			  jpc_floorlog2(atoi(jas_tvparser_getval(tvp)));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:512: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).
			tccp->maxrlvls = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:539:24:  [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).
			cp->tccp.numgbits = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:557: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).
			jp2overhead = atoi(jas_tvparser_getval(tvp));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:797: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).
		*size = atoi(s);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:922:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[1024];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_util.c:94:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[4096];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:784: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              , data + 4*tw*1     , 4*tw);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:785: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 + 4*tw*(th-1), data + 4*tw*(th-2), 4*tw);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:796: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(data + doff, data + soff, 4);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:799: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(data + doff, data + soff, 4);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2147: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(np.m_History[np.m_HistoryPos].m_Pos, p, sizeof p);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2228:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(ca + 4*cnt, c, sizeof lc);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2229:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(caf + 4*cnt, cf, sizeof lcf);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2230:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(va + 2*cnt, lip, sizeof sp);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2232:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(ca + 4*cnt, lc, sizeof c);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2233:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(caf + 4*cnt, lcf, sizeof cf);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2234:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                            memcpy(va + 2*cnt, sip, sizeof sp);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2239: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(lip, sip, sizeof lip);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2243: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(lc, c, sizeof lc);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:2244: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(lcf, cf, sizeof lcf);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.cpp:510:2:  [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(strCurDate, "%04d-%02d-%02d %02d:%02d", year,month,day,hour,minute);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.h:265: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   strRefDate [32];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribRecord.h:266: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   strCurDate [32];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:366: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 strgrib[5];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:479: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 strgrib[4];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:558:2:  [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(strRefDate, "%04d-%02d-%02d %02d:%02d", refyear,refmonth,refday,refhour,refminute);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:821: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[4];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:840: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 t[4];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:869: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 t[3];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:883: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 t[2];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:897: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 t[3];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV1Record.cpp:907: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 t[2];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:695: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 (grib_msg->md.bms, b + 6, grib_msg->md.bmssize);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:928:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 temp[8];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:932:29:  [2] (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, temp, 8);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:935:29:  [2] (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, grib_msg->buffer +off/8, 8);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1545: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 (BMSbits, grib_msg->md.bms, grib_msg->md.bmssize);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1607: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 strgrib[5];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1661: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(strRefDate, "%04d-%02d-%02d %02d:%02d", refyear,refmonth,refday,refhour,refminute);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1712: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 temp[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1740: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(grib_msg->buffer,temp,16);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribV2Record.cpp:1755: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 strgrib[4];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/grib_pi.cpp:737: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[64];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:1138: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 ues[8];        // stores a Unicode Escaped Esquence: \uXXXX
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:1582:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:1802: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 temp[16];    // the UTF-8 code-point
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:1820:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t dst[10];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:1857: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 cu[2];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:760: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 b[8];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:915:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:937: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:971:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:991: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1022:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1123: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[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp:39: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[16];
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp:82: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).
            f->zfile = (void *) fopen(f->fname, mode);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp:88:23:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            f->faux = fopen(f->fname, mode);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp:174: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).
    FILE *ftmp = fopen(f->fname, "rb");
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp:241:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[ZU_BUFREADSIZE];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:132: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 ModelName[32];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:229: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 Longitude[40];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:230: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 Latitude[40];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:298: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.
int MAG_robustReadMagModels(char *filename, MAGtype_MagneticModel *(*magneticmodels)[1]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:361: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.
void MAG_PrintSHDFFormat(char *filename, MAGtype_MagneticModel *(*MagneticModel)[1]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismHeader.h:367: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.
int MAG_readMagneticModel_SHDF(char *filename, MAGtype_MagneticModel *(*magneticmodels)[1]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:257: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 line[MAXLINELENGTH], ModelName[] = "Enhanced Magnetic Model";/*Model Name must be no longer than 31 characters*/
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:260: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).
    MODELFILE = fopen(filename, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:277: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).
    MODELFILE = fopen(filenameSV, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:311: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.
int MAG_robustReadMagModels(char *filename, MAGtype_MagneticModel *(*magneticmodels)[1])
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:314: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 line[MAXLINELENGTH];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:317: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).
    MODELFILE = fopen(filename, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:466:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[20];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:621: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).
    fileout = fopen(filename, "a");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:627:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy(OutputFile, "GridResults.txt");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:629:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy(OutputFile, "GridResults.txt");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:682: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 Error_Message[255];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:683:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[40];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:690:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(Qstring, "\nPlease enter latitude\nNorth latitude positive, For example:\n30, 30, 30 (D,M,S) or 30.508 (Decimal Degrees) (both are north)\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:693: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(Qstring,"\nPlease enter longitude\nEast longitude positive, West negative.  For example:\n-100.5 or -100, 30, 0 for 100.5 degrees west\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:696:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(Qstring,"\nPlease enter height above mean sea level (in kilometers):\n[For height above WGS-84 ellipsoid prefix E, for example (E20.1)]\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:850: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 DeclString[100];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:851: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 InclString[100];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:951:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy(Error, "\nError: Input contains an illegal character, legal characters for Degree, Minute, Second format are:\n '0-9' ',' '-' '[space]' '[Enter]'\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:969: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(Error, "\nError: Not enough numbers used for Degrees, Minutes, Seconds format\n or they were incorrectly formatted\n The legal format is DD,MM,SS or DD MM SS\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:974:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(Error, "\nError: Degree input is outside legal range\n The legal range is from %d to %d\n", min, max);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:981: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(Error, "\nError: Minute input is outside legal range\n The legal minute range is from 0 to 60\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:988: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(Error, "\nError: Second input is outside legal range\n The legal second range is from 0 to 60\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1008: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 ans[20];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1272: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).
    model->nMax = atoi(values[INTSTATICDEG]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1273: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).
    model->nMaxSecVar = atoi(values[INTSECVARDEG]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1533: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 Datestring[11];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1537: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(Datestring, "%d/%d/%d", Date.Month, Date.Day, Date.Year);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1538: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).
    OUT = fopen(filename, "w");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1562: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 Datestring[11];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1566: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(Datestring, "%d/%d/%d", Date.Month, Date.Day, Date.Year);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1567: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).
    OUT = fopen(filename, "w");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1581: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).
    OUT = fopen(filenameSV, "w");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1605: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).
	SHDF_file = fopen(filename, "w");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1675: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 c_str[81], c_new[5]; /*these strings are used to read a line from coefficient file*/
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1678: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).
    MAG_COF_File = fopen(filename, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1747: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 c_str[81], c_str2[81]; /* these strings are used to read a line from coefficient file */
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1750: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).
    MAG_COF_File = fopen(filename, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1751: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).
    MAG_COFSV_File = fopen(filenameSV, "r");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1817: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.
int MAG_readMagneticModel_SHDF(char *filename, MAGtype_MagneticModel *(*magneticmodels)[1])
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1837: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 paramkeys[NOOFPARAMS][MAXLINELENGTH] = {
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1855: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 paramvalues[NOOFPARAMS][MAXLINELENGTH];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1858: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 paramvalue[MAXLINELENGTH];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1877: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).
    stream = fopen(filename, READONLYMODE);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1920: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).
                        tempint = atoi(paramvalues[i]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2256: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(Error, "\nError: The Month entered is invalid, valid months are '1 to 12'\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2262: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(Error, "\nError: The day entered is invalid\n");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2288: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 tempstring[36] = "";
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2289: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 tempstring2[32] = "";
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2298: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(tempstring2, "Deg");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2301: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(tempstring2, "Min");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2304: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(tempstring2, "Sec");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:3968: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 DeclString[100];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:3969: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 InclString[100];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:4051:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buffer[64], Error_Message[255];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:4113:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buffer[64];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/MagneticPlotMap.cpp:348: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 err[255];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp:1141: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 ues[8];        // stores a Unicode Escaped Esquence: \uXXXX
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp:1585:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[16];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp:1805: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 temp[16];    // the UTF-8 code-point
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp:1823:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t dst[10];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:764: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 b[8];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:919:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:941: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:975:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];        // need to store 64-bits integers (max 20 digits)
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:995: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( buffer, cbData, len );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1026:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[32];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1127: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[16];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/wmm_pi.cpp:546: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 err[255];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/wmm_pi.cpp:577: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 err[255];
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/wmm_pi.cpp:727: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 err[255];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:691: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 nsentences = atoi( token.mb_str() );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:694: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).
    int isentence = atoi( token.mb_str() );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:805: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 gpsg_name_str[21];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:832: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 arpa_name_str[21];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:838: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 aprs_name_str[21];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1117: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).
        nsentences = atoi( token.mb_str() );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1120: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).
        isentence = atoi( token.mb_str() );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1252: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( pTargetData->ShipName, gpsg_name_str, SHIP_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1288: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( pTargetData->ShipName, arpa_name_str, SHIP_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1317: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( pTargetData->ShipName, aprs_name_str, SHIP_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2188:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                                char t[15];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2235: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 msg_14_text[968];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2283: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_ascii[AIS_MAX_MESSAGE_LEN + 1];
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2303: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 scanstr[3];
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:235: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(Euro_VIN, q->Euro_VIN, EURO_VIN_LEN);
data/opencpn-5.2.4+dfsg/src/ChartDataInputStream.cpp:108: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(&strm, &s, sizeof s);
data/opencpn-5.2.4+dfsg/src/ChartDataInputStream.cpp:157: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 buffer[8192];
data/opencpn-5.2.4+dfsg/src/ChartDataInputStream.cpp:205:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[8192];
data/opencpn-5.2.4+dfsg/src/ConfigMgr.cpp:1103: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 name[7];
data/opencpn-5.2.4+dfsg/src/ConnectionParams.cpp:40: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).
#define wxAtoi(arg) atoi(arg)
data/opencpn-5.2.4+dfsg/src/Downloader.cpp:66:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char curl_errbuf[CURL_ERROR_SIZE];
data/opencpn-5.2.4+dfsg/src/Downloader.cpp:99:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    stream.open(path.c_str(),
data/opencpn-5.2.4+dfsg/src/Downloader.cpp:115: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 curl_errbuf[CURL_ERROR_SIZE];
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:52: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 output[ FLEXHASH_INTERNAL_SIZE ];
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:55: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( &this->m_Output[0], output, this->m_Output.size() );
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:57: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( &this->m_Output[0], output, FLEXHASH_INTERNAL_SIZE );
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:66: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( &this->m_Output[available_octets], output, current_octets );
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:75:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy( output, &this->m_Output[0], this->m_Output.size() );
data/opencpn-5.2.4+dfsg/src/FlexHash.cpp:105: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 output_current[ ( sizeof output_reference )];
data/opencpn-5.2.4+dfsg/src/GarminProtocolHandler.cpp:178: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  pvt_on[14] =
data/opencpn-5.2.4+dfsg/src/GarminProtocolHandler.cpp:181: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  pvt_off[14] =
data/opencpn-5.2.4+dfsg/src/GarminProtocolHandler.cpp:307: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  pvt_on[14] =
data/opencpn-5.2.4+dfsg/src/GarminProtocolHandler.cpp:569: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.
    static const char  oinit[12] =
data/opencpn-5.2.4+dfsg/src/LLRegion.cpp:103:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char filename[100] = "/home/sean/";
data/opencpn-5.2.4+dfsg/src/LLRegion.cpp:105: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 *f = fopen(filename, "w");
data/opencpn-5.2.4+dfsg/src/LLRegion.cpp:303: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(vertex, coords, 3*(sizeof *coords)); 
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:1554: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).
    m_changes_file = fopen(m_filename.mb_str(), "a");
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:525:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t wlocn[256];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:542:9:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        TCHAR buff[256];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:790: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 render_string[80];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:944:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t lngcp[101];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:2536:5:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    TCHAR valueName[NAME_SIZE];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:2584:13:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            wchar_t    Instance[80];
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:2769:18:  [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).
            File.open(QFile::ReadOnly);
data/opencpn-5.2.4+dfsg/src/OCPNRegion.cpp:1571: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 (dstrgn->rects, rgn->rects, rgn->numRects * sizeof (OGdkRegionBox));
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:205:18:  [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).
        m_serial.open();
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:370: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 msg[MAX_OUT_QUEUE_MESSAGE_LENGTH];
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:512: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 msg[MAX_OUT_QUEUE_MESSAGE_LENGTH];
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:694: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 msg[MAX_OUT_QUEUE_MESSAGE_LENGTH];
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:797: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 szBuf[READ_BUF_SIZE];
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:881: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 msg[MAX_OUT_QUEUE_MESSAGE_LENGTH];
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1236: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).
    if ((com_fd = open(com_name.mb_str(), O_RDWR|O_NONBLOCK|O_NOCTTY)) < 0)
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1281: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(&ttyset, &ttyset_old, sizeof(termios));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:83: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[ERR_BUF_LEN + 1];
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:494: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(pf, &pPayload->point_array, point_count * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:513: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(pf, &pPayload->point_array, point_count * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:887: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( Descriptor.indexTable, next_byte,
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:920: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( lD.indexTable, &pPayload->payLoad, pPayload->edgeVector_count * 3 * sizeof(int) );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:983:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(pPoints, pRun, pointCount * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1020: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(pPoint, pRun, 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1866: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(&pRecord->payload, payload.c_str(), payloadLength);
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1887: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(&pRecord->payload, &val, payloadLength);
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1908: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(&pRecord->payload, &val, payloadLength);
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2001: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(pdf++, puceast, sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2002: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(pdf++, pucnorth, sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2003: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(pdf++, pucdeep, sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2072: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( pd, ps, 9 );                                  // byte order, type, and count
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2095: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(&east_d, pucd, sizeof(double));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2098: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(&north_d, pucd, sizeof(double));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2108: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(pdf++, puceasting, sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2109: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(pdf++, pucnorthing, sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2940:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(payloadBuffer, &aValue, sizeof(int) );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:2975:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(payloadBuffer, &aValue, sizeof(double) );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3080: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( &pRecord->payload, payloadBuffer, payloadLength );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3107: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(payloadBuffer, &nqual, sizeof(int) );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3121: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( &pRecord->payload, payloadBuffer, payloadLength );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3199: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(&lona, pucsd, sizeof(double));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3201: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(&lata, pucsd, sizeof(double));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3330: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(&abox[0], pucbb, 4 * sizeof(double));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3367: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(p_run, p_tp->p_vertex, p_tp->nVert * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3473:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy( *m_pCOVRTable, pAuxPtrArray->Item( 0 ),
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3485:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy( m_pCOVRTable[j], pAuxPtrArray->Item(j),
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3510:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy( m_pNoCOVRTable[j], pNoCovrPtrArray->Item( j ),
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:860: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 line[256];
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:877: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 line[256];
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:920:10:  [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).
    file.open(path, std::ios::in);
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:954:24:  [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).
                stream.open(path, ifstream::in);
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:986: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 fname[4096];
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:995:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    stream.open(path.c_str(), std::ios::out|std::ios::binary|std::ios::trunc);
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:1020: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 line[256];
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:1038: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 line[256];
data/opencpn-5.2.4+dfsg/src/RolloverWin.cpp:184: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(e+4*i, d+3*i, 3);
data/opencpn-5.2.4+dfsg/src/RolloverWin.cpp:271: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(e+4*i, d+3*i, 3);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:233: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 stz[80];
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:342: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 linrec[linelen];
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:343: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 junk[80];
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:348:10:  [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 (data_file_path.mb_str(), "r");
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:469: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 linrec[linelen];
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:471:10:  [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 (m_harmfile_name.mb_str(), "r");
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:497: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 junk[80];
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:518:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy (psd->tzfile, "UTC0");
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:523:13:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
            strcpy (psd->unit, "unknown");
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:591:23:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        m_IndexFile = fopen( m_indexfile_name.mb_str(), "rt");
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:616: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.
int TCDS_Ascii_Harmonic::read_next_line (FILE *fp, char linrec[linelen], int end_ok)
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:633: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 linrec[linelen];
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:289: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 tz[40];
data/opencpn-5.2.4+dfsg/src/TCWin.cpp:420: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 sbuf[100];
data/opencpn-5.2.4+dfsg/src/TCWin.cpp:493: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 sbuf[5];
data/opencpn-5.2.4+dfsg/src/TCWin.cpp:494: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( sbuf, "%02d", i );
data/opencpn-5.2.4+dfsg/src/about.cpp:590: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[1024];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1129: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 tstr[200];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1131:9:  [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(tstr, "\r\n");
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1151: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 tstr[200];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1153:9:  [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(tstr, "\r\n");
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:2590: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).
        mu = atoi(ret_string);
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4423: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 sb[600];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4448: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 sb[400];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4462: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 cb[400];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4483: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 tbb[400];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4510: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 sb[1400];
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:4554: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 sb[1400];
data/opencpn-5.2.4+dfsg/src/catalog_handler.cpp:126:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    stream.open(filePath.c_str(), std::ios::out | std::ios::trunc);
data/opencpn-5.2.4+dfsg/src/catalog_handler.cpp:145:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    stream.open(filePath.c_str(), std::ios::out | std::ios::trunc);
data/opencpn-5.2.4+dfsg/src/catalog_handler.cpp:240:10:  [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).
    file.open(path, std::ios::in);
data/opencpn-5.2.4+dfsg/src/catalog_mgr.cpp:561:24:  [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).
                stream.open(path, std::ios::out);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:756: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 bells_sound_file_name[2][12] = { "1bells.wav", "2bells.wav" };
data/opencpn-5.2.4+dfsg/src/chart1.cpp:8289: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).
        FILE* file = fopen ( "/proc/self/statm", "r");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:8398: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/opencpn-5.2.4+dfsg/src/chart1.cpp:8401: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).
                *mem_total = atol(buf) >> 10;
data/opencpn-5.2.4+dfsg/src/chart1.cpp:9359: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 tick_buf[2];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10224:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char msg[256];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10427:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char  devname [272];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10441:8:  [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(devname, O_RDWR|O_NDELAY|O_NOCTTY);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10468: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).
    int fd = open(dev, O_RDWR | O_NONBLOCK | O_NOCTTY);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10576: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[256]; // enough to hold one line from serial devices list
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10582:17:  [2] (race) vfork:
  On some old systems, vfork() permits race conditions, and it's very
  difficult to use correctly (CWE-362). Use fork() instead.
    pid_t pID = vfork();
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10606:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    f = fopen("/var/tmp/serial", "r");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10658:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    f = fopen("/var/tmp/usbserial", "r");
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10724:18:  [2] (race) vfork:
  On some old systems, vfork() permits race conditions, and it's very
  difficult to use correctly (CWE-362). Use fork() instead.
    pid_t cpID = vfork();
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10784: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 s[20];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10785:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(s, "\\\\.\\COM%d", j);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10848:17:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                TCHAR fname[256] = {0};
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10849:17:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                TCHAR desc[256] ={0};
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10863:21:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    TCHAR dname[256];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10869:29:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                            wchar_t    wport[80];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10871:29:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
                            MultiByteToWideChar( 0, 0, "PortName", -1, wport, 80);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10966:22:  [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).
            int fd = open(buf.data(), O_RDWR | O_NONBLOCK | O_NOCTTY);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:10976: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(&ttyset, &ttyset_old, sizeof(termios));
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11278: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[81];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11280: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 TableName[20];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11317: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 name[21];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12137:21:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    TCHAR fname[256];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12138:21:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    TCHAR desc[256];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12146:21:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    TCHAR locinfo[256];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12231: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 acSubEnum[128];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12245: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 acSubSubEnum[128];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12296: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 acSubPnp[128];
data/opencpn-5.2.4+dfsg/src/chart1.cpp:12309: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 acValue[128];
data/opencpn-5.2.4+dfsg/src/chartdb.cpp:922: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(buf, "%d", sc);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:101: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 vb[5];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:102: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(vb, "V%03d", DB_VERSION_CURRENT);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:104: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(dbVersion, vb, 4);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:110: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 vb[5];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:111: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(vb, "V%03d", DB_VERSION_CURRENT);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:115: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 vbo[5];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:116: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(vbo, dbVersion, 4);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:126: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(vb, "V%03d", DB_VERSION_PREVIOUS);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:140: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 vbo[5];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:141: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(vbo, dbVersion, 4);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:346: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(pf_entry, theChart.GetCOVRTableHead(j), theChart.GetCOVRTablePoints(j) * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:369: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(pf_entry, theChart.GetNoCOVRTableHead(j), theChart.GetNoCOVRTablePoints(j) * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:476: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 path[4096], *cp;
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1220: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 vbo[5];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1221: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(vbo, cth.GetDBVersionString(), 4);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1223: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).
    m_dbversion = atoi(&vbo[1]);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1237: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 dirbuf[1024];
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1291: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 s[200];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:364: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[BUF_LEN_MAX];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:422:41:  [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).
                        m_Chart_Scale = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:477: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 date_string[40];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:478: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 date_buf[10];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:484:25:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                        sprintf(date_buf, "%d", dt.GetYear());
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:688: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).
                              Size_X = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:691: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).
                              Size_Y = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:756: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 d_str[100];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:781: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(*m_pCOVRTable, pPlyTable, nPlypoint * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:858: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[BUF_LEN_MAX];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:961: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).
                              Size_X = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:964: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).
                              Size_Y = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:969: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.
                          char nbuf[81];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:980: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.
                              char nbuf[81];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1010: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).
                              m_Chart_Scale = atoi(&buffer[i]);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1328: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.
                              char date_string[40];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1329: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.
                              char date_buf[16];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1352:35:  [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(date_buf, "%d", iyear);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1428: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 d_str[100];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1581:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(*m_pCOVRTable, pPlyTable, nPlypoint * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1587: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 d_str[100];
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:2009: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(pNullSubPal->FwdPalette, pPalettes[COLOR_RGB_DEFAULT]->FwdPalette, pNullSubPal->nFwd * sizeof(int));
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:2014: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(pNullSubPal->RevPalette, pPalettes[COLOR_RGB_DEFAULT]->RevPalette, pNullSubPal->nRev * sizeof(int));
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:4060:33:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                                memcpy( target_data_x,
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:294: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(attVal, nodeText, nc);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:646: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( LUP->OBCL, lookup.name.mb_str(), 7 );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:758: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( lnst->name.PANM, lineStyle.name.mb_str(), 8 );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:898: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( patt->name.PANM, pattern.name.mb_str(), 8 );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:1075: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( symb->name.SYNM, symbol.name.char_str(), 8 );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:1344: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 key[9];
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:11675: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 sbuf[20];
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13472:13:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            wchar_t wdll_name[80];
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13473:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
            MultiByteToWideChar( 0, 0, "gdi32.dll", -1, wdll_name, 80 );
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13667: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(file_name, "wb");
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13675: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 header[128];
data/opencpn-5.2.4+dfsg/src/chcanv.cpp:13721: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 ramp[256];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:409: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 sig_bytes[9];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:570: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 Encode_table[256];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:571: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 Decode_table[256];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:1804:30:  [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 *flstream = fopen ( cell_file_name, "rb" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:1813:28:  [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 *stream = fopen ( cell_file_name, "rb" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:2870: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 ( ret_ptr->contour_array, m_pcontour_array, ncontours * sizeof ( int ) );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3161: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[30];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3263: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[30];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3375: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 u[201];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3378: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 ( pobj->FeatureName, u, 7 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3399: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 val[4000];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3466:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                        char vi[20];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3470:31:  [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 ( vi, "%d,", *pb++ );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3492:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                        memcpy(&tf1, pucf, sizeof(float));
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3521: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 ( val, "%d", v );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3536: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.
                        strcpy ( ( char * ) pattValTmp->value, "BACKGROUND" );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3630:31:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                              memcpy ( patl, "OBJNAM", 6 );            // change to "OBJNAM"
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4297:43:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                                          memcpy(&tf1, pucf, sizeof(float));
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4514: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 sfile[200];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4636: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 str[256];
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4779: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 t[100];
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:57: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 m[1];
data/opencpn-5.2.4+dfsg/src/georef.cpp:328: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(bufp, "%d%02d'%02d.%01d\"", (int) (neg ? -a : a), m, s / 10, s % 10);
data/opencpn-5.2.4+dfsg/src/georef.cpp:340: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[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:323: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 addrbuf[256];
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:1202: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 render_string[80];
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:1215: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 version_string[80];
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:2019: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(sml, smj, sizeof smj);
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:2942: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(vertex, coords, 3*(sizeof *coords)); 
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:3090: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(sml, smj, sizeof smj);
data/opencpn-5.2.4+dfsg/src/glTexCache.cpp:1102: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 buf[CATALOG_ENTRY_SERIAL_SIZE];   // MSVC requires constant stack array size...
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:105: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 sha1_out[20];
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:245: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(block + (bcol*4+brow)*3,
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:485: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 *bit_array[10];
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:601: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.
            char *src = (char *)comp_bits_array[level];
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:1117: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(ticket->level0_bits, ptd->map_array[0], size);
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:770: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).
    fpoly = fopen( fname.mb_str(), "rb" );
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:789: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).
        fpoly = fopen( fname.mb_str(), "rb" );
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1092: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 buf[4];
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1095: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.
	unsigned char in[4];
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1117: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 buf[4];
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1342: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 = fopen( fname.mb_str(), "rb" );
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1362: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 = fopen( fname.mb_str(), "rb" );
data/opencpn-5.2.4+dfsg/src/logger.cpp:103:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    log.open(path, std::fstream::out | std::fstream::app);
data/opencpn-5.2.4+dfsg/src/logger.cpp:170:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[1024];
data/opencpn-5.2.4+dfsg/src/macutils.c:142: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 bsdPath[maxPathSize] ;
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:565: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 qrs[100];
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:568:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(qrs, "select count(*) from tiles where zoom_level = %d ", zoomFactor);
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:574:34:  [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 tile_at_zoom = atoi(colValue);
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:588:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(qrs, "select tile_column, tile_row from tiles where zoom_level = %d ", zoomFactor);
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:599: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).
                int tile_x_found = atoi(colValue);      // tile_x
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:600: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).
                int tile_y_found = atoi(c2);    // tile_y
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:827: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 qrs[2100];
data/opencpn-5.2.4+dfsg/src/mbtiles.cpp:828: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(qrs, "select tile_data, length(tile_data) from tiles where zoom_level = %d AND tile_column=%d AND tile_row=%d", tile->m_zoomLevel, tile->tile_x, tile->tile_y);
data/opencpn-5.2.4+dfsg/src/mygeom.cpp:577: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(geoPt, LOD_result, kept_LOD * 3 * sizeof(double));
data/opencpn-5.2.4+dfsg/src/mygeom.cpp:822: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 mem[4024*1024];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:1399:63:  [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( val.Length() > 0 ) g_iNavAidRadarRingsNumberVisible = atoi( val.mb_str() );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:1412:58:  [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( val.Length() > 0 ) g_iWaypointRangeRingsNumber = atoi( val.mb_str() );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:1604: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( pOLE->OBJLName, sObj.mb_str(), OBJL_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:2497: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 name[7];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:3789: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).
    int ptsz = atoi ( pointsize.mb_str() );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:3863: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 face[101];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:3867: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 pattern[100];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4022: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 font_x[200];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4568:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t buf[64];
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4569: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 narrowbuf[64];
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:141: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 buf[2000];
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:144:18:  [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).
        int fd = open( "/proc/meminfo", O_RDONLY );
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:734: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(pd, ps, width*4);
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:865: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(ptbits, ptdata, width * 3);
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:1041: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(ptbits, ptdata, width * 3);
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:1289:67:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 ** data = new unsigned char * [h];
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:1298:57:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                                   alpha = new unsigned char * [h];
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c: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 line[512];
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:50:24:  [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).
                 inF = open("/proc/tty/driver/usb-serial", O_RDONLY);
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:52:21:  [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).
            		inF = open("/proc/tty/driver/usbserial", O_RDONLY);
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:56:29:  [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((ouF = open("/var/tmp/usbserial", O_WRONLY | O_CREAT | O_TRUNC, 0777)) != -1)
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:69:24:  [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).
                 inF = open("/proc/tty/driver/serial", O_RDONLY);
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:73:29:  [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((ouF = open("/var/tmp/serial", O_WRONLY | O_CREAT | O_TRUNC, 0777)) != -1)
data/opencpn-5.2.4+dfsg/src/ogrs57datasource.cpp:162: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    pachLeader[10];
data/opencpn-5.2.4+dfsg/src/ogrs57datasource.cpp:402: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    pachLeader[10];
data/opencpn-5.2.4+dfsg/src/options.cpp:8297:20:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *infile = fopen(in.mb_str(), "rb");
data/opencpn-5.2.4+dfsg/src/options.cpp:8301: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).
    FILE *outfile = fopen(out.mb_str(), "wb");
data/opencpn-5.2.4+dfsg/src/piano.cpp:228: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.
static void SetColor(unsigned char color[4], const wxBrush &brush)
data/opencpn-5.2.4+dfsg/src/piano.cpp:322: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(d, e, 3), d+=4, e+=3;
data/opencpn-5.2.4+dfsg/src/piano.cpp:337: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(d, e, 3), d+=3, e+=3;
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:345:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    stream.open(path, std::ifstream::in);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:1638: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).
                    stream.open(path, std::ifstream::in);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:1937: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).
    file_handle = open( file, O_RDONLY );
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2054: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 strver[22]; //Enough space even for very big integers...
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2055: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(strver, "%i%i", wxMAJOR_VERSION, wxMINOR_VERSION);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2176: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 *f = fopen(plugin_file, "r");
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2177: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 strver[26]; //Enough space even for very big integers...
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:5160: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(pret->CallSign, ptarget->CallSign, CALL_SIGN_LEN);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:5161: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(pret->ShipName, ptarget->ShipName, SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:5506: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 b[2]; sprintf(b, "%1d", workingMetadata.openSource);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:5506:16:  [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.
    char b[2]; sprintf(b, "%1d", workingMetadata.openSource);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:96: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.
#define PUGI__STATIC_ASSERT(cond) { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; }
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:107: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.
using std::memcpy;
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:1818: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 unsigned char chartype_table[256] =
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:1848: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 unsigned char chartypex_table[256] =
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:2033: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(buffer, contents, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:2209: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(buffer, data, prefix_length);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:2352: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(dest, source, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:2368: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(buf, source, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:3741: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 + bufsize, data, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:3751: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(buffer + offset, data, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4628:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[128];
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4629: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(buf, "%.9g", value);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4637:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[128];
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4638: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(buf, "%.17g", value);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4855: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(write, chunk->data, chunk->size);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4964:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char mode_ascii[4] = {0};
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4968: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).
		FILE* result = fopen(path_utf8, mode_ascii);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:6119: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(&result[offset], j->name, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:6944:27:  [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_deleter<FILE> file(fopen(path_, "rb"), impl::close_file);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7027:27:  [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_deleter<FILE> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), impl::close_file);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7383: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 data[xpath_memory_page_size];
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7478: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(result, ptr, old_size);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7601: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(result, string, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7659:22:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				if (!_uses_heap) memcpy(result, _buffer, target_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7662: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(result + target_length, o._buffer, source_length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8069: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(buffer, "%.*e", DBL_DIG, value);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8077: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 exponent = atoi(exponent_string + 1);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8104:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char mantissa_buffer[32];
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8220: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(scratch, begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8375: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 table[128] = {0};
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8401: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(result, table, sizeof(table));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8519: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(result->name, name, (length + 1) * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8611: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(scratch, begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8753: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(_end, begin_, count * sizeof(xpath_node));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:10953: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(c, value.begin, length * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:11925: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(storage, begin_, size_ * sizeof(xpath_node));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:12134: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(copy, value, size);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:12458: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, r.c_str(), (size - 1) * sizeof(char_t));
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:355: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).
            buf[i++] = (unsigned char) atoi(str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1200: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 catlitstr[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp: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 litvisstr[20] = {'\0'};;
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1207: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     catlit[LISTSIZE]  = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1208: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     litvis[LISTSIZE]  = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1209: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     col_str[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1215: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     colist[LISTSIZE]  = {'\0'};   // colour list
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1400: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 sym[80];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1401: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(sym,";CA(OUTLW, 4");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1408:21:  [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(sym, ",LITRD, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1410:23:  [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(sym, ",LITGN, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1412:23:  [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(sym, ",LITYW, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1414:23:  [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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1420:27:  [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(sym, ",LITRD, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1422:27:  [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(sym, ",LITGN, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1424:27:  [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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1427: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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1435:22:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                     strcpy(sym, ";CA(CHBLK, 4,CHBRN, 1");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1452: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 arc_data[80];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1453: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(arc_data, ",%5.1f, %5.1f, %5.1f, %5.1f", sectr1, sectr2, arc_radius, sector_radius);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1541: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 catlitstr[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1544: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 litvisstr[20] = {'\0'};;
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1548: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     catlit[LISTSIZE]  = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1549: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     litvis[LISTSIZE]  = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1550: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     col_str[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1556: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     colist[LISTSIZE]  = {'\0'};   // colour list
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1736: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.
             char sym[80];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1737: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.
             strcpy(sym,";CA(OUTLW, 4");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1744:22:  [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(sym, ",LITRD, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1746:22:  [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(sym, ",LITGN, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1748:22:  [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(sym, ",LITYW, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1750:22:  [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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1756:30:  [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(sym, ",LITRD, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1758:30:  [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(sym, ",LITGN, 2");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1760:30:  [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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1763:26:  [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(sym, ",CHMGD, 2");                 // default is magenta
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1771:21:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
                    strcpy(sym, ";CA(CHBLK, 4,CHBRN, 1");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1788: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 arc_data[80];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1789:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf(arc_data, ",%5.1f, %5.1f, %5.1f, %5.1f", sectr1, sectr2, arc_radius, sector_radius);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2559: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     restrn[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2563: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     catrea[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2765: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     restrn[LISTSIZE] = {'\0'};   // restriction list
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2860: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(r, "MP();");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2891: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     temp_str[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2894: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 symbol_prefix_a[200];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2897: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     tecsou[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2900: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     quasou[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:2904: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     status[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3379: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     quasouchar[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3645: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 colist[20];
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3752: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 grp_str[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3794: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 col_str[20] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3937: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 symins[80] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3940:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(symins, "\037");
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4191: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).
            buf[i++] = (unsigned char) atoi(str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4321: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).
    objl    = (NULL == objlstr) ? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4366: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).
    objl    = (NULL == objlstr) ? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4454: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).
        quapos = atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4510:52:  [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      objl    = (NULL == objlstr) ? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4566: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     catlit[LISTSIZE]  = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4574: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     colist[LISTSIZE]  = {'\0'};   // colour list
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4715: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 litvis[LISTSIZE] = {'\0'};  // list visibility
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:4996:61:  [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      objl      = (NULL == objlstr)? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5033:61:  [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     objl       = (NULL == objlstr)? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5082: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).
                quapos = atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5265: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).
        quapos = atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5270:51:  [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      objl    = (NULL == objlstr)? 0 : atoi(objlstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5303:51:  [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      quapos    = (NULL == quaposstr)? 0 : atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5326:51:  [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      quapos    = (NULL == quaposstr)? 0 : atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5346:49:  [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     = (NULL == valstr)? 0 : atoi(valstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5415: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     restrn[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5417: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     catrea[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5588: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     restrn[LISTSIZE] = {'\0'};   // restriction list
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5730: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     tecsou[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5732: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     quasou[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5734: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     status[LISTSIZE] = {'\0'};
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5759:55:  [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      quapos    = (NULL == quaposstr)? 0 : atoi(quaposstr->str);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:5874:51:  [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 topshp      = (NULL==topshpstr) ? 0 : atoi(topshpstr->str);
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:236: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).
            if( atoi( papszFields[1] ) == ival ) {
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:681: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 state_buffer[512];  // Needs to be at least this big...
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:685: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(state_buffer, &time, sizeof(int));
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:692: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( &state_buffer[offset], &t, sizeof(double));
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:699: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(&state_buffer[offset], m_noshow_array[i].obj, 6) ;
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:705: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(&state_buffer[offset], &m_bShowSoundg, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:708: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(&state_buffer[offset], &m_bShowS57Text, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:711: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(&state_buffer[offset], &m_bShowS57ImportantTextOnly, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:714: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(&state_buffer[offset], &m_bDeClutterText, sizeof(bool)); offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:717: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(&state_buffer[offset], &m_bShowNationalTexts, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:720: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(&state_buffer[offset], &m_bShowAtonText, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:723: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(&state_buffer[offset], &m_bShowLdisText, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:726: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(&state_buffer[offset], &m_bExtendLightSectors, sizeof(bool));  offset += sizeof(bool); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:729: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(&state_buffer[offset], &m_nSoundingFactor, sizeof(int));  offset += sizeof(int); }
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:840:51:  [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 LUP_att_val = atoi( slatv );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:849:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                                char ss[41];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:976: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( str0, buffer.data(), len );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:981: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 strk[20];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1079: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 stt[9];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1652: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, buffer.data(), len );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1664: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[MAXL]; // output string
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1678: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).
        text->bsize = atoi( buf + 3 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1681: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).
        text->xoffs = atoi( buf );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1683: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).
        text->yoffs = atoi( buf );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1687: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).
        text->dis = atoi( buf ); // Text Group, used for "Important" text detection
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1696: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 val[MAXL]; // value of arg
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1697: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 strnobjnm[7] = { "NOBJNM" };
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1698: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 valn[MAXL]; // value of arg
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1750: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 arg[MAXL]; // ATTRIB list
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1751: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 fmt[MAXL]; // FORMAT
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1752: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[MAXL]; // output string
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1771: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 val[MAXL]; // value of arg
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1772: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 tmp[MAXL] = { '\0' }; // temporary format string
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1801:51:  [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).
                            b += sprintf( b, tmp, atoi( val ) );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:2909: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 colname[6];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:3476: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 sangle[10];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:3483: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).
            int angle_i = atoi( sangle );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:3932: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).
    int w = atoi( str + 5 ); // Width
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:4204:9:  [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).
    w = atoi( str + 5 ); // Width
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:4418:9:  [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).
    w = atoi( str + 5 ); // Width
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:4708:9:  [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).
    w = atoi( str + 5 ); // Width
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:4914: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 bufDot[ 2 * tex_w * stride];
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:4968: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).
    int w = atoi( str + 5 ); // Width
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:7388: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( pOLE->OBJLName, buffer.data(), 6 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:7420: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( pOLE->OBJLName, obj->FeatureName, OBJL_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:8862:33:  [2] (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_run, p_tp->p_vertex, p_tp->nVert * 2 * sizeof(float) );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:9736:33:  [2] (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_run, p_tp->p_vertex, p_tp->nVert * 2 * sizeof(float) );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:10690: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( NewLUP->OBCL, rzRules->LUP->OBCL, 6 ); // the object class name
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:10974: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(element.obj, objcl, 6);
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:11101: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( pOLE->OBJLName, sObj.mb_str(), OBJL_NAME_LEN );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:959: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(br, source_buffer + vbo_offset, count * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:994: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(br, source_buffer + ls_list->vbo_offset, ls_list->n_points * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:1325: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(lvr, pedge->pPoints, pedge->nCount * 2 * sizeof(float));
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:2601: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 sha1_out[20];
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3343:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy( m_pCOVRTable[j], AuxPtrArray[j],
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3362: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( m_pNoCOVRTable[j], NoCovrPtrArray[j],
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3731: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).
            retval = atoi( buffer.data() );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:4872: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).
            if( atoi( papszFields[1] ) == ival ) {
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:5935: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[ERR_BUF_LEN + 1];
data/opencpn-5.2.4+dfsg/src/s57classregistrar.cpp:283: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).
        pnClassesOBJL[nClasses] = atoi(papszTempFields[0]);
data/opencpn-5.2.4+dfsg/src/s57classregistrar.cpp:354: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).
        iAttr = atoi(papszTokens[0]);
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:953: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(aa, pszValue, nLength);
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:976: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        szLNAM[32];
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:981: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( szLNAM, "%04X%08X%04X",
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:1016:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szLNAM, "%02X%02X%02X%02X%02X%02X%02X%02X",
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:1367: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).
                              *pnquality = atoi(s);
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2174: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( pachInsertion, poSrcFSPT->GetData(), nInsertionBytes );
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2183: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( pachInsertion + nInsertionBytes,
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2243: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( pachInsertion, poSrcVRPT->GetData(), nInsertionBytes );
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2252: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( pachInsertion + nInsertionBytes,
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2342: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( pachInsertion, poSrcSG2D->GetData(), nInsertionBytes );
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2351: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( pachInsertion + nInsertionBytes,
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2695: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    szExtension[16];
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:2700:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf( szExtension, "%03d", iUpdate );
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2575:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf (tname, "-%02d:%02d", hour, minute);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2579:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf (tname, "+%02d:%02d", hour, minute);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2599:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf (tname, "-%d:%02d", hour, minute);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2601:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf (tname, "+%d:%02d", hour, minute);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2603: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 (tname, "0:00");
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2615: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 (tname, "NULL");
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2622:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf (tname, "%4u-%02u-%02u", y, m, d);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4105: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 (&buf[pos], "__END__", 7);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4130: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 (&buf[pos], "__END__", 7);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4155: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 (&buf[pos], "__END__", 7);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4180: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 (&buf[pos], "__END__", 7);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4205: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 (&buf[pos], "__END__", 7);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4526: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 (hd.pub.version, "NO VERSION");
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4565:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    strcpy ((char *)keys[i].address.cstr, clip_string(info));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4849: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 (hd.legalese[0], "NULL");
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5116: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).
    if ((fp = fopen (file, "rb+")) == NULL) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5117: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 ((fp = fopen (file, "rb")) == NULL) return (NVFalse);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5319: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).
    if ((fp = fopen (file, "wb+")) == NULL) {
data/opencpn-5.2.4+dfsg/src/wificlient.cpp:226: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 buf[100];
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:328:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                is.read(reinterpret_cast<char*>(&u16), 2); // flags
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:348:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                is.read(reinterpret_cast<char*>(&u16), 2); // qtype
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:364:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    is.read(reinterpret_cast<char*>(&u8), 1); // offset token
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:371:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    is.read(reinterpret_cast<char*>(&u8), 1); // offset value
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:380:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    is.read(reinterpret_cast<char*>(&u16), 2); // type
data/opencpn-5.2.4+dfsg/include/zeroconf-detail.hpp:386:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    is.read(reinterpret_cast<char*>(&u16), 2); // length
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:548: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).
        snprintf(line, 1024, "GET /%s HTTP/1.1\r\n", path); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:550: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).
            snprintf(line, 1024, "Host: %s\r\n", host); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:553: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).
            snprintf(line, 1024, "Host: %s:%d\r\n", host, port); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:555: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).
        snprintf(line, 1024, "Upgrade: websocket\r\n"); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:556: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).
        snprintf(line, 1024, "Connection: Upgrade\r\n"); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:558:90:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            snprintf(line, 1024, "Origin: %s\r\n", origin.c_str()); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:560: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).
        snprintf(line, 1024, "Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==\r\n"); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:561: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).
        snprintf(line, 1024, "Sec-WebSocket-Version: 13\r\n"); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/easywsclient/easywsclient.cpp:562: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).
        snprintf(line, 1024, "\r\n"); ::send(sockfd, line, strlen(line), 0);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:96: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).
		fatal("gpsbabel: Unable to allocate %ld bytes of memory.\n", (unsigned long) strlen(s));
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:147: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 pfx_l = strlen(pfx);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:149: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 com_l = strlen(com);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:191: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).
           ((strlen(comname) == 5) && (comname[4] == ':')) ||
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:192: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).
           ((strlen(comname) == 4) && (case_ignore_strncmp(comname, "com", 3) == 0))
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:194:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(obuf, comname, len - 1);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/garmin_wrapper_utils.c:199: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).
               l = strlen(obuf);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsapp.c:1940:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(gps_categories[cat_num], s, sizeof (gps_categories[0]));
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpscom.c:1211:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(crs[n_crs]->course_name, trk[i]->trk_ident,
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpscom.c:1274:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(cpt[i+n_cpt]->name, wpt[i]->cmnt,
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsserial.c:419:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return read(psd->fd, ibuf, size);
data/opencpn-5.2.4+dfsg/libs/garmin/jeeps/gpsusbwin.c:235:6:  [1] (buffer) strlen:
  Does not handle 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(pname) > 4) {
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:202: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).
                  (int) strlen(pszString) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:252: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).
    nActuallyRead = strlen(pszBuffer);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:295:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        chCheck = fgetc( fp );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:306:23:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            chCheck = fgetc( fp );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:391: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).
        nReadSoFar = strlen(pszRLBuffer);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:439:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( pszBuffer, pszString,  nMaxLength );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp: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  i = strlen( pszBuffer );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:451: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  i = strlen( pszBuffer );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:488:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( pszValue, pszString, nMaxLength );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:539:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(pszValue, pszString, nMaxLength);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:976:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(pszPath) == 2 && pszPath[1] == ':' )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:980:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( szAltPath, pszPath, 10 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_conv.cpp:982:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat( szAltPath, "\\" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:452: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).
                       strlen(pszWorkLine) + strlen(pszLine) + 1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_csv.cpp:452: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).
                       strlen(pszWorkLine) + strlen(pszLine) + 1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:262: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).
        int            i, nLen = strlen(pszCategory);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:296: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).
        if (pszMessage[strlen(pszMessage) -1 ] == '\n')
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:298: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).
            pszMessage[strlen(pszMessage) - 1] = 0; // blow it out
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:315: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).
    vsnprintf(pszMessage+strlen(pszMessage), ERROR_MAX - strlen(pszMessage),
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:315: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).
    vsnprintf(pszMessage+strlen(pszMessage), ERROR_MAX - strlen(pszMessage),
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_error.cpp:318: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).
    vsprintf(pszMessage+strlen(pszMessage), pszFormat, args);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:385: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).
            psContext->nTokenSize = strlen(psContext->pszToken );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:413: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).
            psContext->nTokenSize = strlen(psContext->pszToken );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:439: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).
            psContext->nTokenSize = strlen(psContext->pszToken );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:834: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).
    *pnLength += strlen(*ppszText + *pnLength);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:835: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).
    _GrowBuffer( strlen(psNode->pszValue) + *pnLength + 40 + nIndent,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:848: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).
        _GrowBuffer( strlen(pszEscaped) + *pnLength,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:866:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat( *ppszText + *pnLength, "\"" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:898:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat( *ppszText + *pnLength, "\n" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:940: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( *ppszText + *pnLength, ">" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:952:21:  [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( *ppszText + *pnLength, "\n" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:959: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).
            *pnLength += strlen(*ppszText + *pnLength);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:960: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).
            _GrowBuffer( strlen(psNode->pszValue) + *pnLength + 40 + nIndent,
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:971: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).
            *pnLength += strlen(*ppszText + *pnLength);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:1538: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).
            && EQUALN(pszNamespace,psRoot->pszValue,strlen(pszNamespace))
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:1539: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).
            && psRoot->pszValue[strlen(pszNamespace)] == ':' )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:1542: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).
                CPLStrdup(psRoot->pszValue+strlen(pszNamespace)+1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_minixml.cpp:1673: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).
    nLength = strlen(pszDoc);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:105:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for( iFileStart = strlen(pszFilename);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:149:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy( szStaticResult, "" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:153:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszFilename, iFileStart );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:199:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy( szStaticResult, "." );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:203:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszFilename, iFileStart );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:243:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszFullFilename + iFileStart, CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:279: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).
    for( iExtStart = strlen(pszFullFilename);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:284: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).
        iExtStart = strlen(pszFullFilename);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:290:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszFullFilename + iFileStart, nLength );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:326: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).
    for( iExtStart = strlen(pszFullFilename);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:331: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).
        iExtStart = strlen(pszFullFilename)-1;
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:333:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszFullFilename+iExtStart+1, CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:362:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszPath, CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:364:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for( i = strlen(szStaticResult) - 1; i > 0; i-- )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:380: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).
    CPLAssert( strlen(pszExt) + 2 < CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:382:5:  [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( szStaticResult, "." );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:430: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).
    else if( strlen(pszPath) > 0
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:431: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).
             && pszPath[strlen(pszPath)-1] != '/'
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:432: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).
             && pszPath[strlen(pszPath)-1] != '\\' )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:437: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).
    else if( pszExtension[0] != '.' && strlen(pszExtension) > 0 )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:440: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).
    CPLAssert( strlen(pszPath) + strlen(pszAddedPathSep) +
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:440: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).
    CPLAssert( strlen(pszPath) + strlen(pszAddedPathSep) +
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:441: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).
               strlen(pszBasename) + strlen(pszAddedExtSep) +
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:441: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).
               strlen(pszBasename) + strlen(pszAddedExtSep) +
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:442: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).
               strlen(pszExtension) + 1 < CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:444:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszPath, CPL_PATH_BUF_SIZE - 1 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:445:5:  [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( szStaticResult, pszAddedPathSep, sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:445: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).
    strncat( szStaticResult, pszAddedPathSep, sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:446:5:  [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( szStaticResult, pszBasename,     sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:446: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).
    strncat( szStaticResult, pszBasename,     sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:447:5:  [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( szStaticResult, pszAddedExtSep,  sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:447: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).
    strncat( szStaticResult, pszAddedExtSep,  sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:448:5:  [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( szStaticResult, pszExtension,    sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:448: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).
    strncat( szStaticResult, pszExtension,    sizeof(szStaticResult)-strlen(szStaticResult)-1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:493: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).
    int         nLen = strlen(pszBasename)+2, i;
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:497: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).
        nLen += strlen(pszExtension);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:503: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).
    else if( pszExtension[0] != '.' && strlen(pszExtension) > 0 )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:584: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( pszProjectDir == NULL || strlen(pszProjectDir) == 0 )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:587:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( szStaticResult, pszProjectDir, CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:590: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).
    if( pszProjectDir[strlen(pszProjectDir)-1] != '/'
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:591: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).
        && pszProjectDir[strlen(pszProjectDir)-1] != '\\' )
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:593: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).
        CPLAssert( strlen(SEP_STRING) + 1 < CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:598: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).
    CPLAssert( strlen(pszSecondaryFilename) + 1 < CPL_PATH_BUF_SIZE );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_path.cpp:624: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(pszFilename) > 2 && strncmp(pszFilename+1,":\\",2) == 0)
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:935: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).
    nLen = strlen(pszName);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:990:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy( *ppszKey, pszNameValue, i );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1030: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).
    nLen = strlen(pszName);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1068: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).
    pszLine = (char *) CPLMalloc(strlen(pszName)+strlen(pszValue)+2);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1068: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).
    pszLine = (char *) CPLMalloc(strlen(pszName)+strlen(pszValue)+2);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1108: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).
    nLen = strlen(pszName);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1123: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).
            *papszPtr = (char *) CPLMalloc(strlen(pszName)+strlen(pszValue)+2);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1123: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).
            *papszPtr = (char *) CPLMalloc(strlen(pszName)+strlen(pszValue)+2);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1172: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).
        pszNewLine = (char *) CPLMalloc( strlen(pszValue) + strlen(pszKey)
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1172: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).
        pszNewLine = (char *) CPLMalloc( strlen(pszValue) + strlen(pszKey)
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1173: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).
                                         + strlen(pszSeparator) + 1 );
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1227: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).
        nLength = strlen(pszInput);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_string.cpp:1361: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).
    pszOutput = (char *) CPLMalloc(strlen(pszInput)+1);
data/opencpn-5.2.4+dfsg/libs/gdal/src/cpl_vsisimple.cpp:244:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return( fgetc( fp ) );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1017: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).
            if( strlen(szTempBuffer) + strlen(szItem) + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1017: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( strlen(szTempBuffer) + strlen(szItem) + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1024:17:  [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( szTempBuffer, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1032: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( szTempBuffer, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1054: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).
            if( strlen(szTempBuffer) + strlen(szItem) + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1054: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( strlen(szTempBuffer) + strlen(szItem) + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1061:17:  [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( szTempBuffer, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1069: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( szTempBuffer, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1082: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).
            if( strlen(szTempBuffer) + strlen(pszItem)  + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1082: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( strlen(szTempBuffer) + strlen(pszItem)  + 6 + 1
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1089:17:  [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( szTempBuffer, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrfeature.cpp:1097: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( szTempBuffer, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:747: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).
        nCumulativeLength += strlen(papszGeoms[iGeom]);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:767: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( *ppszDstText, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrgeometrycollection.cpp:773:5:  [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( *ppszDstText, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:921: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( nMaxString <= (int) strlen(*ppszDstText+nRetLen) + 32 + nRetLen )
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:927: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).
                      nMaxString, strlen(*ppszDstText), i, *ppszDstText );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:935: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( *ppszDstText + nRetLen, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:937: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).
        nRetLen += strlen(*ppszDstText + nRetLen);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:949: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).
        nRetLen += strlen(*ppszDstText + nRetLen);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrlinestring.cpp:952:5:  [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( *ppszDstText+nRetLen, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:297: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).
        nCumulativeLength += strlen(papszLines[iLine] + 11);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:317: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( *ppszDstText, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultilinestring.cpp:323:5:  [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( *ppszDstText, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:196: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( *ppszDstText + nRetLen, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:198: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).
        nRetLen += strlen(*ppszDstText + nRetLen);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipoint.cpp:218:5:  [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( *ppszDstText+nRetLen, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:323: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).
        nCumulativeLength += strlen(papszLines[iLine] + 8);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:343: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( *ppszDstText, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrmultipolygon.cpp:349:5:  [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( *ppszDstText, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:731: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).
        nCumulativeLength += strlen(papszRings[iRing] + 11);
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:751: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( *ppszDstText, "," );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrpolygon.cpp:757:5:  [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( *ppszDstText, ")" );
data/opencpn-5.2.4+dfsg/libs/gdal/src/ogrutils.cpp:109:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(pszTarget) > 48 )
data/opencpn-5.2.4+dfsg/libs/glshim/include/EGL/egl.h:302:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			  EGLSurface read, EGLContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glx.h:290:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                   GLXDrawable read, GLXContext ctx );
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glx.h:316:92:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:536:80:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
extern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:555:93:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:636:80:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
extern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/include/GL/glxext.h:639:93:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.c:33: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).
                extensions = malloc(strlen(builtin_extensions)
data/opencpn-5.2.4+dfsg/libs/glshim/src/gl/gl.c:34: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).
                                    + strlen(query_extensions) + 2);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:5143:73:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Bool glXMakeContextCurrent(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx) {
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/client/src/client.c:5148:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    packed_data.args.a3 = (GLXDrawable)read;
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:3432:125:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
typedef Bool (*FUNC_Bool_Display___GENPT___GLXDrawable_GLXDrawable_GLXContext)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:7177:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define glXMakeContextCurrent_ARG_NAMES dpy, draw, read, ctx
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:7178:87:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define glXMakeContextCurrent_ARG_EXPAND Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/gl.h:13991:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    packed_data->args.a3 = read;
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:4193:125:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
typedef Bool (*FUNC_Bool_Display___GENPT___GLXDrawable_GLXDrawable_GLXContext)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:17509:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define glXMakeContextCurrent_ARG_NAMES dpy, draw, read, ctx
data/opencpn-5.2.4+dfsg/libs/glshim/src/proxy/proxy.h:17510:87:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define glXMakeContextCurrent_ARG_EXPAND Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx
data/opencpn-5.2.4+dfsg/libs/glu/libutil/registry.c:72: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).
  deleteThis = lookHere = (char *)malloc(strlen((const char *)extString)+1); 
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:180: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( _formatControls == NULL || strlen(_formatControls) == 0 )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:186: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 nOldLen = strlen(_formatControls);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:189: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).
        CPLMalloc(nOldLen+3+strlen(poNewSFDefn->GetFormat()));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:194:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat( pszNewFormatControls, "," );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:197:5:  [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( pszNewFormatControls, ")" );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:210: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).
                   strlen(_arrayDescr)+strlen(poNewSFDefn->GetName())+2);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:210: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).
                   strlen(_arrayDescr)+strlen(poNewSFDefn->GetName())+2);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:211:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(_arrayDescr) > 0 )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:212:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat( _arrayDescr, "!" );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:257: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).
    *pnLength = 9 + strlen(_fieldName) + 1
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:258: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(_arrayDescr) + 1
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:259: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(_formatControls) + 1;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:261:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(_formatControls) == 0 )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:303:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(_formatControls) > 0 )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:304: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).
        sprintf( *ppachData + strlen(*ppachData), "%c%s",
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:306: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).
    sprintf( *ppachData + strlen(*ppachData), "%c", DDF_FIELD_TERMINATOR );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:401:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(seq, (char *)&pachFieldArea[6], 3);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:650: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).
            if( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1)
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:650: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( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1)
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:653: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).
                nDestMax = 2 * (strlen(pszExpandedContents) + strlen(pszDest));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:653: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).
                nDestMax = 2 * (strlen(pszExpandedContents) + strlen(pszDest));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:658: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).
            iDst = strlen(pszDest);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:660: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).
            iSrc = iSrc + strlen(pszContents) + 2;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:682: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( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1)
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:682: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).
                if( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1)
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:686: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).
                        2 * (strlen(pszExpandedContents) + strlen(pszDest));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:686: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).
                        2 * (strlen(pszExpandedContents) + strlen(pszDest));
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:692:21:  [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( pszDest, "," );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:695: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).
            iDst = strlen(pszDest);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:698: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).
                iSrc = iSrc + strlen(pszContents) + 2;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:700: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).
                iSrc = iSrc + strlen(pszContents);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:738:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if( strlen(_formatControls) < 2
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddffielddefn.cpp:740: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).
        || _formatControls[strlen(_formatControls)-1] != ')' )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfmodule.cpp:364:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( szTag, pachRecord+nEntryOffset, _sizeFieldTag );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:498:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( szTag, pachData+nEntryOffset, _sizeFieldTag );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfrecord.cpp:634:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( szTag, pachData+nEntryOffset, _sizeFieldTag );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:126:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for( i = strlen(pszName)-1; i > 0 && pszName[i] == ' '; i-- )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:886: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).
        nValueLength = strlen(pszValue);
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:908:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( pachData, pszValue, nSize-1 );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:956: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).
        nSize = strlen(szWork) + 1;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:962: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( GetBinaryFormat() == NotBinary && (int) strlen(szWork) > nSize )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:977:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( pachData, szWork, nSize-1 );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:989:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( pachData + nSize - strlen(szWork), szWork,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:989: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).
            strncpy( pachData + nSize - strlen(szWork), szWork,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:990: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).
                     strlen(szWork) );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1051: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).
        nSize = strlen(szWork) + 1;
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1057: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( GetBinaryFormat() == NotBinary && (int) strlen(szWork) > nSize )
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1072:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( pachData, szWork, nSize-1 );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1080:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( pachData + nSize - strlen(szWork), szWork,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1080: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).
            strncpy( pachData + nSize - strlen(szWork), szWork,
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfsubfielddefn.cpp:1081: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).
                     strlen(szWork) );
data/opencpn-5.2.4+dfsg/libs/iso8211/src/ddfutils.cpp:121:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( pszReturn, pszRecord, i );
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:655: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(unsigned long i=0;i<strlen(String);i++)
data/opencpn-5.2.4+dfsg/libs/libtess2/Source/CustomArray.cpp:900: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(unsigned long i=0;i<strlen(String);i++)
data/opencpn-5.2.4+dfsg/libs/sound/src/SoundFileLoader.cpp:40:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!fileWave.Open(path, wxFile::read)) {
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:25494: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).
  n = strlen(z) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:28299: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 0x3fffffff & (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:28311: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).
  return pCol->zName + strlen(pCol->zName) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:30810:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  { "read",         (sqlite3_syscall_ptr)read,       0  },
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:31328: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).
  n = (int)strlen(zAbsoluteName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:33940:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  for(ii=(int)strlen(zDirname); ii>0 && zDirname[ii]!='/'; ii--);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:34696: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).
    nShmFilename = 6 + (int)strlen(zBasePath);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:35774: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).
    nFilename = (int)strlen(zFilename) + 6;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36178: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).
    assert( (flags & SQLITE_OPEN_URI) || zName[strlen(zName)+1]==0 );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36191: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).
    assert( zName[strlen(zName)+1]==0 );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36650:3:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
  usleep(microseconds);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36946: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).
  dbLen = (int)strlen(dbPath);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:36967: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).
  len = (int)strlen(lockPath);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37223:9:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
        usleep(500000); /* wait 0.5 sec and try the lock again*/
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37249:9:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
        usleep(10000000); /* wait 10 sec and try the lock again */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37398: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).
        writeSize = PROXY_PATHINDEX + strlen(&writeBuffer[PROXY_PATHINDEX]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37529: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).
  int len = (int)strlen(dbPath); /* Length of database filename - dbPath */
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37555: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).
  assert( (int)strlen(conchPath) == len+7 );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37605: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).
    assert( (int)strlen((char*)pFile->lockingContext)<=MAXPATHLEN );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37613: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 len = strlen((char *)pFile->lockingContext) - strlen(DOTLOCK_SUFFIX);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37613: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).
    int len = strlen((char *)pFile->lockingContext) - strlen(DOTLOCK_SUFFIX);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:37617: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).
    assert( strlen((char*)pFile->lockingContext)<=MAXPATHLEN );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:116277: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).
  assert( strlen(zBuf) < sizeof(zBuf)-1 );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:128482: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).
  assert( zAff==0 || (int)strlen(zAff)>=nEq );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:147812: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).
  nRet = 2 + (int)strlen(zInput)*2 + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148083: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).
      nStr += (int)strlen(zCol) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148094: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 n = (int)strlen(zCol)+1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148160: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).
  assert( strlen(argv[0])==4 );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148165: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).
  nDb = (int)strlen(argv[1]) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148166: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).
  nName = (int)strlen(argv[2]) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148200: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).
     && strlen(z)>8
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148235: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).
            if( strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "fts3", 4) ){
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148261: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( (strlen(zVal)!=3 || sqlite3_strnicmp(zVal, "asc", 3)) 
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148262: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).
             && (strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "desc", 4)) 
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148300: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).
      nString += (int)(strlen(z) + 1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148425: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).
    int n = (int)strlen(p->azColumn[iCol]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:148428: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( zNot && n==(int)strlen(zNot)
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153054: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).
  nDb = (int)strlen(zDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153058: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).
      nDb = (int)strlen(zDb);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:153066: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).
  nFts3 = (int)strlen(zFts3);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154050: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 nStr = (int)strlen(zStr);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154510: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).
    n = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:154936: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( nKey<=0 ) nKey = (int) strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:155327: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).
    c->nInput = (int)strlen(zInput);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:155789: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).
  *pnOut = i = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156065: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).
  zEnd = &zCopy[strlen(zCopy)];
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156075: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).
  m = (sqlite3_tokenizer_module *)sqlite3Fts3HashFind(pHash,z,(int)strlen(z)+1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156483: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 i, n = (int)strlen(argv[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156535: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).
    c->nBytes = (int)strlen(pInput);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156727: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 nName = (int)strlen(zName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156765: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).
      nByte += (int)(strlen(argv[i]) + 1);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:156774: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 n = (int)strlen(argv[i]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:162919: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 nStr = (int)strlen(zMatchinfo);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:163384: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).
    nAppend = (int)strlen(zAppend);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:164728: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).
    int n = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:164780: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).
    pCsr->nInput = (int)strlen(aInput);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:166984: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).
                || (idxStr && (int)strlen(idxStr)==argc*2) );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168723: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).
  nDb = (int)strlen(argv[1]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168724: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).
  nName = (int)strlen(argv[2]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168823: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).
    nCell = (int)strlen(zCell);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:168832: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).
      nCell = (int)strlen(zCell);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169646: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).
    n = strlen(argv[0])+1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:169702: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).
    nInput = strlen(zInput);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:171335: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(zIn)>4 && memcmp("data", zIn, 4)==0 ){
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:171491: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 nCopy = strlen(zStr) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172055: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).
    if( (int)strlen(zMask)!=pIter->nTblCol ){
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172871: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(p->zRbu)>=5 && 0==memcmp("file:", p->zRbu, 5) ){
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:172956: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).
    sz = (int)strlen(z)&0xffffff;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173960: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 nTarget = zTarget ? strlen(zTarget) : 0;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:173961: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 nRbu = strlen(zRbu);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:174165: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 nErrmsg = strlen(p->zErrmsg);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:174870: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 n = (int)strlen(zName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:174954: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).
          nCopy = strlen(zBase);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:175197: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).
  nName = strlen(zName);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:178160: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).
  sessionAppendBlob(pBuf, (u8 *)pTab->zName, (int)strlen(pTab->zName)+1, pRc);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:179997: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).
        nTab = (int)strlen(zTab);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180320: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 nNew = (int)strlen(zNew);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:180876: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).
  p->nUsed += (int)strlen(p->zBuf+p->nUsed);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:182722: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).
          jsonAppendRaw(&x, p->zRoot, (int)strlen(p->zRoot));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:185875: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).
    if( n<0 ) n = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:186527: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 nStr = (int)strlen(zStr);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:186712: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).
      nIn = (int)strlen(pIn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187045: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 nEnum = (int)strlen(zEnum);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187077: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 nCmd = (int)strlen(zCmd);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187133: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 nArg = (int)strlen(zArg) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:187263: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).
  int nIn = (int)strlen(zIn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:188591: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).
              pExpr->pIndex, p->zTerm, (int)strlen(p->zTerm),
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189428: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).
    n = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189513: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).
        rc = fts5ParseTokenize((void*)&sCtx, tflags, zTerm, (int)strlen(zTerm),
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:189998: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).
    nByte += (int)strlen(pTerm->zTerm) * 2 + 3 + 2;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:190472: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).
      int nTerm = (int)strlen(pTerm->zTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:190792: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).
                          (int)strlen(fts5EntryKey(p)));
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:191140: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 nTerm = (int)strlen(zKey);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:193089: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).
      sqlite3Fts5BufferSet(&p->rc,&pIter->term, (int)strlen(zTerm), (u8*)zTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:193169: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).
      sqlite3Fts5BufferSet(&p->rc, &pIter->term, (int)strlen(zTerm),
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:193611: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).
    n = (z ? (int)strlen((const char*)z) : 0);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:195658: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).
      fts5WriteAppendTerm(p, &writer, (int)strlen(zTerm), (const u8*)zTerm);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200102: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).
    nName = (int)strlen(zName) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200140: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).
  nName = (int)strlen(zName) + 1;
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200700: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).
        iOff = (int)strlen(zDefn);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:200703: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).
          iOff += (int)strlen(&zDefn[iOff]);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:201773: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 n = (int)strlen(z);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202110: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).
    assert( strlen(p->zSuffix)==p->nSuffix );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:202111: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).
    assert( strlen(p->zOutput)==p->nOutput );
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:203646: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).
  bDb = (argc==6 && strlen(argv[1])==4 && memcmp("temp", argv[1], 4)==0);
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:203656: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 nDb = (int)strlen(zDb)+1; 
data/opencpn-5.2.4+dfsg/libs/sqlite/src/sqlite3.c:203657: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 nTab = (int)strlen(zTab)+1;
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonreader.cpp:331: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( readBuff );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:695: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:698: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( writeBuff );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:876: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:879: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( writeBuff );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:937: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:945:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:991: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:999:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1028: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( buffer );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1057: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( c );
data/opencpn-5.2.4+dfsg/libs/wxJSON/src/jsonwriter.cpp:1159: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 len = strlen( str );
data/opencpn-5.2.4+dfsg/libs/wxcurl/include/wx/curl/base.h:586: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).
    #define wxCURL_BUF_ISEMPTY(x)        (strlen(x) == 0)
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/base.cpp:174: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).
            len = strlen(*pStr);
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/base.cpp:177:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy((char*)ptr, (const char*)(*pStr), iRealSize);
data/opencpn-5.2.4+dfsg/libs/wxcurl/src/base.cpp:182:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy((char*)ptr, (const char*)(*pStr), len);
data/opencpn-5.2.4+dfsg/libs/wxservdisc/mdnsd.c:187: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(rr->rdname) len += strlen(rr->rdname); // worst case
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartcatalog.cpp:483: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(element.first_child().value()))
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/chartcatalog.cpp:489: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(element.first_child().value()))
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:192:10:  [1] (buffer) wcslen:
  Does not handle 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 wcslen(s);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:194: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).
		return strlen(s);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:226:10:  [1] (buffer) wcslen:
  Does not handle 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 wcslen(s);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4604: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(buf) < sizeof(wbuf) / sizeof(wbuf[0]));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4611: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).
		return strcpy_insitu(dest, header, header_mask, buf, strlen(buf));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4833:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream.read(chunk->data, static_cast<std::streamsize>(sizeof(chunk->data) / sizeof(T)));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:4889:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream.read(static_cast<T*>(buffer.data), static_cast<std::streamsize>(read_length));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:7068: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 impl::as_wide_impl(str, strlen(str));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8059: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).
		truncate_zeros(buffer, buffer + strlen(buffer));
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8070: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(buffer) < buffer_size);
data/opencpn-5.2.4+dfsg/plugins/chartdldr_pi/src/pugixml.cpp:8111: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 result_size = strlen(mantissa_buffer) + (exponent > 0 ? exponent : -exponent) + 4;
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/nmea0183/sentence.cpp:154: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( !abuf.data() || strlen(abuf.data()) == 0 )                            // badly formed sentence?
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonreader.cpp:330: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( readBuff );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:693: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:696: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:874: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:877: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:935: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:943:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:989: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:997:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1026: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( buffer );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1055: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( c );
data/opencpn-5.2.4+dfsg/plugins/dashboard_pi/src/wxJSON/jsonwriter.cpp:1157: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 len = strlen( str );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_getopt.c:138:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
				if (strlen(cp) != 1 ||
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:1118: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).
	txtdesc->asclen = strlen(txtdesc->ascdata) + 1;
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:1141: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).
	return strlen(txtdesc->ascdata) + 1 + txtdesc->uclen * 2 + 15 + 67;
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:1209: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).
	if (JAS_CAST(int, strlen(txt->string)) + 1 != cnt)
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_icc.c:1219: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).
	return strlen(txt->string) + 1;
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:475: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).
			sprintf(sbuf, "%s%4ld", (strlen(buf) > 0) ? " " : "",
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c:477: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).
			n = strlen(buf);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_seq.c: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).
			if (n + strlen(sbuf) > MAXLINELEN) {
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_stream.c:1097:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return read(fileobj->fd, buf, cnt);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/base/jas_string.c:90:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	n = strlen(s) + 1;
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_enc.c:975: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).
	com->len = strlen(buf);
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_util.c:99:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(buf, s, sizeof(buf));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/libs/jasper/src/jpc/jpc_util.c:116:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(buf, s, sizeof(buf));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:142: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).
    extNameLen = strlen( extName );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/GribOverlayFactory.cpp:149: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).
    end = p + strlen( p );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonreader.cpp:330: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( readBuff );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:693: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:696: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:874: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:877: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:935: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:943:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:989: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:997:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1026: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( buffer );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1055: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( c );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/jsonwriter.cpp:1157: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 len = strlen( str );
data/opencpn-5.2.4+dfsg/plugins/grib_pi/src/zuFile.cpp: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).
    if (!fname || strlen(fname)==0) {
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:476:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:484:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:492:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:500:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:508:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:518:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:528:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:536:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:549:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:558:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:567:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:573:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:579:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:587:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:595:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:602:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:609:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:620:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:625: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(NULL==fgets(buffer, 20, stdin) || strlen(buffer) <= 1)
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:636:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:689:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, ""); /*Clear the input    */
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:692:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, ""); /*Clear the input*/
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:699:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:746:21:  [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(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:758:13:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
            strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:775:25:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
                        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:945: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).
    n = (int) strlen(input);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1009:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(ans, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1233:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(MagneticModel->ModelName, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1888: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(MAG_Trim(line)) == 0)
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1911: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).
                paramkeylength = strlen(paramkeys[i]);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1914: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).
                    paramvaluelength = strlen(line) - paramkeylength;
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1915:21:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                    strncpy(paramvalue, line + paramkeylength, paramvaluelength);
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:1986: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).
    end = str + strlen(str) - 1;
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:2290:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(DMSstring, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:4096: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(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/GeomagnetismLibrary.c:4125:9:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
        strcpy(buffer, "");
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonreader.cpp:333: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( readBuff );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:697: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:700: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:878: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).
        os.Write( err, strlen( err ));
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:881: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( writeBuff );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:939: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:947:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:993: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 = strlen( cbData );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1001:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen( buffer );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1030: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( buffer );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1059: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( c );
data/opencpn-5.2.4+dfsg/plugins/wmm_pi/src/jsonwriter.cpp:1161: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 len = strlen( str );
data/opencpn-5.2.4+dfsg/src/AIS_Bitstring.cpp:30: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).
    byte_length = strlen( str );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:599:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(pTargetData->Destination,
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:622:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(pTargetData->ShipName, name.c_str(), 20 );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:630:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(pTargetData->CallSign, callsign.c_str(), 7);
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:913:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( arpa_name_str, token.mb_str(), len );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:975:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( arpa_name_str, token.mb_str(), len );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1032:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( aprs_name_str, token.mb_str(), len );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:1093:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( gpsg_name_str, token.mb_str(), len );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2284:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( str_ascii, buf.data(), AIS_MAX_MESSAGE_LEN );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:2287: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).
    int string_length = strlen( str_ascii );
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:3135:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(pTargetData->ShipName, ship_name.mb_str(), ship_name.length() + 1);
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:3144:25:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                        strncpy(pTargetData->ShipName, ship_name.mb_str(), ship_name.length() + 1);
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:3181:29:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                            strncpy(pTargetData->ShipName, (*AISTargetNamesC)[mmsi].mb_str(), (*AISTargetNamesC)[mmsi].Left(20).Length() + 1);
data/opencpn-5.2.4+dfsg/src/AIS_Decoder.cpp:3202:21:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
                    strncpy(pTargetData->ShipName, "Unknown             ", SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:87:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(ShipName, "Unknown             ", SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:88:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(CallSign, "       ", 8);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:89:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(Destination, "                    ", SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:146:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(Euro_VIN, "       ", 8);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:175:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(ShipName, q->ShipName, SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:176:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(CallSign, q->CallSign, 8);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:177:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(Destination, q->Destination, SHIP_NAME_LEN);
data/opencpn-5.2.4+dfsg/src/AIS_Target_Data.cpp:281: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).
        if( strlen( ShipNameExtension ) ) {
data/opencpn-5.2.4+dfsg/src/ConfigMgr.cpp:486:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if(!strlen(m_config_root.name())) {
data/opencpn-5.2.4+dfsg/src/ConfigMgr.cpp:1104:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( name, pOLE->OBJLName, 6 );
data/opencpn-5.2.4+dfsg/src/FontMgr.cpp:164: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 fdLen = strlen( abuf );
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:740: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(buffer.data() && strlen(buffer.data()) > 0) {
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:900: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(buffer.data()  && strlen(buffer.data()) > 0) {
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:1017: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(buffer.data()  && strlen(buffer.data()) > 0) {
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:1424:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if(!strlen(m_gpx_root.name())) {
data/opencpn-5.2.4+dfsg/src/NavObjectCollection.cpp:1648: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).
    while(strlen(object.name()))
data/opencpn-5.2.4+dfsg/src/NetworkDataStream.cpp:391: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).
                GetSock()->Write(cmd, strlen(cmd));
data/opencpn-5.2.4+dfsg/src/NetworkDataStream.cpp:458: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).
                GetSock()->Write( payload.mb_str(), strlen( payload.mb_str() ) );
data/opencpn-5.2.4+dfsg/src/OCPNListCtrl.cpp:104: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( strlen( pAISTarget->ShipNameExtension ) ) ret.Append(
data/opencpn-5.2.4+dfsg/src/OCPNPlatform.cpp:791:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( render_string, str, 79 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:180: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).
            status = m_serial.write((uint8_t*)msg, strlen(msg));
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:240: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 *qmsg = (char *)malloc(strlen(buf.data()) +1);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:287:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                newdata = m_serial.read(rdata, 200 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:371:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( msg, qmsg, MAX_OUT_QUEUE_MESSAGE_LENGTH-1 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:424:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                newdata = m_serial.read(&next_byte, 1);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:513:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( msg, qmsg, MAX_OUT_QUEUE_MESSAGE_LENGTH-1 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:575:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        newdata = read(m_gps_fd, &next_byte, 1);            // read of one char
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:695:21:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                    strncpy( msg, qmsg, MAX_OUT_QUEUE_MESSAGE_LENGTH-1 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:929:29:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                            strncpy( msg, qmsg, MAX_OUT_QUEUE_MESSAGE_LENGTH-1 );
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:933: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).
                            dwToWrite = strlen(msg);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1184: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 *qmsg = (char *)malloc(strlen(buf.data()) +1);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1212:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(m_poutQueue[m_putIndex], msg.mb_str(), MAX_OUT_QUEUE_MESSAGE_LENGTH-1);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1351: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).
    status = write(port_descriptor, msg, strlen(msg));
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1360:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(port_descriptor, p, count);            // read of (count) characters
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1493:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(pszBuf, string.mb_str(), dwSize+1);
data/opencpn-5.2.4+dfsg/src/OCP_DataStreamInput_Thread.cpp:1516: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).
    if (!WriteFile((HANDLE)port_descriptor, msg, strlen(msg), &dwWritten, NULL))
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1155: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( strlen( u ) ) {
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:1346: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( strlen( u ) ) {
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3043: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).
                            stringPayloadLength = strlen(buffer.data());
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3156: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).
    fprintf( fpOut, "HDRLEN=%lu\n", (unsigned long) strlen(buffer) );
data/opencpn-5.2.4+dfsg/src/Osenc.cpp:3157: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).
    fwrite( buffer.data(), 1, strlen(buffer), fpOut );
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:497: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).
        path = path.substr(strlen("usr/"));
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:500: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).
        path = path.substr(strlen("local/"));
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:595: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).
        path = path.substr(strlen("usr/"));
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:598: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).
        path = path.substr(strlen("local/"));
data/opencpn-5.2.4+dfsg/src/PluginHandler.cpp:695: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).
        if (strlen(archive_entry_pathname(entry)) == 0) {
data/opencpn-5.2.4+dfsg/src/SignalKDataStream.cpp:170: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).
            GetSock()->Write(unsub, strlen(unsub));
data/opencpn-5.2.4+dfsg/src/SignalKDataStream.cpp:388: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).
            GetSock()->Write(sub2, strlen(sub2));
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:289: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).
                if (NULL!=(pIDX->IDX_tzname = (char *)malloc(strlen(stz)+1)))
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:495: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).
        psd->station_name = (char *)malloc(strlen(linrec) +1);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:643: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).
    a = &(line[strlen(line)]);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:660: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).
    n = strlen (b);
data/opencpn-5.2.4+dfsg/src/TCDS_Ascii_Harmonic.cpp:661: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 ((int)(strlen (a)) < n)
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:290:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(tz, tz_names[index][1], 39);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:406:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pIDX->IDX_station_name, ptiderec->header.name, MAXNAMELEN);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:439:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(psd->station_name, ptiderec->header.name, MAXNAMELEN);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:448:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy (psd->unit, get_level_units (ptiderec->level_units), 40 - 1);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:460:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy (psd->units_conv, known_units[unit_c].name, sizeof(psd->units_conv)-1);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:461:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy (psd->units_abbrv, known_units[unit_c].abbrv, sizeof(psd->units_abbrv)-1);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:464:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy (psd->units_conv, psd->unit, 40 - 1);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:466:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy (psd->units_abbrv, psd->unit, 20 - 1);
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:557:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if(!strlen(pIDX->IDX_reference_name)) {
data/opencpn-5.2.4+dfsg/src/TCDS_Binary_Harmonic.cpp:558:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pIDX->IDX_reference_name, get_station (pIDX->IDX_ref_dbIndex),
data/opencpn-5.2.4+dfsg/src/TCDataSource.cpp:80:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(pIDX->source_ident, m_data_source_path.mb_str(),
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1130:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(tstr, string, 190);
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:1152:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(tstr, string, 190);
data/opencpn-5.2.4+dfsg/src/androidUTIL.cpp:2414:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(android_plat_spc.msdk, b.c_str(), 2);
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11271:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( d, p[index], n );
data/opencpn-5.2.4+dfsg/src/chart1.cpp:11272: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).
    return strlen( d );
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:168: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).
    char *pt = (char *)malloc(strlen(utf8Path.mb_str(wxConvUTF8)) + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:489:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pFullPath, path, cp - path + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:571:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pFullPath, path, cp - path + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:649:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          strncpy(pFullPath, path, cp - path + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:712:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pFullPath, path, cp - path + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:762:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          strncpy(pFullPath, path, cp - path + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:815: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).
    os.Write(pFullPath, strlen(pFullPath) + 1);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1292:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(s, dir.mb_str(wxConvUTF8), 199);
data/opencpn-5.2.4+dfsg/src/chartdbs.cpp:1294: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).
        dirlen = strlen(s);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:757:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
          strncpy(d_str, m_datum_str.mb_str(), 99);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1429:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(d_str, m_datum_str.mb_str(), 99);
data/opencpn-5.2.4+dfsg/src/chartimg.cpp:1588:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(d_str, m_datum_str.mb_str(), 99);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:124:29:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                            strncpy(color.colName, attr.value(), 5);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:195:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy( color.colName, key.char_str(), 5 );
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:291: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 nc = strlen(nodeText);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:617:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(attVal, nodeText, 7);
data/opencpn-5.2.4+dfsg/src/chartsymbols.cpp:1346:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( key, symbolName, 8 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3376:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy ( u, sclass_sub.mb_str(), 199 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3448: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).
                        nlen = strlen ( ( const char * ) aval );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3456: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).
                        nlen = strlen ( ( const char * ) &aval[3] );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3473: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 ( strlen ( val ) )
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3474: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).
                              val[strlen ( val )-1] = 0;      // strip last ","
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3476: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).
                        int nlen = strlen ( val );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3522: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 nlen = strlen ( val );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3535: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).
                        pattValTmp->value   = ( char * ) malloc ( strlen ( "BACKGROUND" ) + 1 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:3588:21:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                    strncpy(pobj->att_array + (6 * sizeof(char) * pobj->n_attr), dbuffer.data(), 6);
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4515:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy ( sfile, file.mb_str(), 199 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4637:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy ( str, msg.mb_str(), 255 );
data/opencpn-5.2.4+dfsg/src/cm93.cpp:4780:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy ( t, target.mb_str(), 99 );
data/opencpn-5.2.4+dfsg/src/datastream.cpp:495: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).
                m_sock->Write(cmd, strlen(cmd));
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:106:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pway->ident, (prp->GetName().Truncate ( 6 )).mb_str(), 6);
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:185:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pway->rte_ident, (pr->m_RouteNameString.Truncate ( 255 )).mb_str(), 255);
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:186:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pway->rte_cmnt, (pr->m_RouteNameString.Truncate ( 19 )).mb_str(), 19);
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:242:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pway->rte_ident, (pr->m_RouteNameString.Truncate ( 255 )).mb_str(), 255);
data/opencpn-5.2.4+dfsg/src/garmin_wrapper.cpp:243:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(pway->rte_cmnt, (pr->m_RouteNameString.Truncate ( 19 )).mb_str(), 19);
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:289: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).
    extNameLen = strlen( extName );
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:296: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).
    end = p + strlen( p );
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:332: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(extension && strlen(extension)){
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:1203:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( render_string, str, 79 );
data/opencpn-5.2.4+dfsg/src/glChartCanvas.cpp:1216:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( version_string, (char *) glGetString( GL_VERSION ), 79 );
data/opencpn-5.2.4+dfsg/src/glTextureManager.cpp:106: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).
    sha1( (unsigned char *) buf.data(), strlen(buf.data()), sha1_out );
data/opencpn-5.2.4+dfsg/src/gshhs.cpp:1318:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if( ! wxFile::Access( GshhsReader::getFileName_Land( quality ), wxFile::read ) ) return false;
data/opencpn-5.2.4+dfsg/src/macutils.c:176: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).
				pNames[iCurrentNameIndex] = calloc(1,strlen(bsdPath)+1) ;
data/opencpn-5.2.4+dfsg/src/macutils.c:177:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
				strncpy(pNames[iCurrentNameIndex],bsdPath,strlen(bsdPath)+1);
data/opencpn-5.2.4+dfsg/src/macutils.c:177: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).
				strncpy(pNames[iCurrentNameIndex],bsdPath,strlen(bsdPath)+1);
data/opencpn-5.2.4+dfsg/src/navutil.cpp:2498:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( name, pOLE->OBJLName, 6 );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:3864:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy ( face, facename.mb_str(), 100 );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4594:5:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    wcsncpy( buf, sdms.wc_str( wxConvUTF8 ), 63 );
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4596:18:  [1] (buffer) wcslen:
  Does not handle 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 = wxMin( wcslen( buf ), sizeof(narrowbuf)-1);;
data/opencpn-5.2.4+dfsg/src/navutil.cpp:4619: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).
            i += strlen( narrowbuf + i );
data/opencpn-5.2.4+dfsg/src/ocpn_pixel.cpp:148:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        len = read( fd, buf, sizeof( buf ) - 1 );
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:58:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                 		while((bytes = read(inF, line, sizeof(line))) > 0)
data/opencpn-5.2.4+dfsg/src/ocpnhelper.c:75:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                 		while((bytes = read(inF, line, sizeof(line))) > 0)
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2192: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).
    int pos = 0, len = strlen(strver), c;
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:2193:16:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while((c = fgetc(f)) != EOF) {
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:4171:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(buffer, (const char*)s.mb_str(wxConvUTF8), buffer_length -1);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:6647: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).
    button->Enable(strlen(url) > 0);
data/opencpn-5.2.4+dfsg/src/pluginmanager.cpp:7722:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(cobj->FeatureName, pObj->FeatureName, 8);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:192:10:  [1] (buffer) wcslen:
  Does not handle 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 wcslen(s);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:194: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).
		return strlen(s);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:226:10:  [1] (buffer) wcslen:
  Does not handle 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 wcslen(s);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4604: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(buf) < sizeof(wbuf) / sizeof(wbuf[0]));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4611: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).
		return strcpy_insitu(dest, header, header_mask, buf, strlen(buf));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4833:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream.read(chunk->data, static_cast<std::streamsize>(sizeof(chunk->data) / sizeof(T)));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:4889:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream.read(static_cast<T*>(buffer.data), static_cast<std::streamsize>(read_length));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:7068: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 impl::as_wide_impl(str, strlen(str));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8059: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).
		truncate_zeros(buffer, buffer + strlen(buffer));
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8070: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(buffer) < buffer_size);
data/opencpn-5.2.4+dfsg/src/pugixml.cpp:8111: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 result_size = strlen(mantissa_buffer) + (exponent > 0 ? exponent : -exponent) + 4;
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:205:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(attList, obj->attList->mb_str(), obj->attList->Len());
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:306:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pval, val, nc);
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1220: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(catlitstr))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1251:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(col_str))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1430: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 ( strlen(litvisstr))               // Obscured/faint sector?
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1561: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(catlitstr))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1591: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).
         if (strlen(col_str))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:1766: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 ( strlen(litvisstr))               // Obscured/faint sector?
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3754: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(grp_str))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3804: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).
            if (strlen(col_str))
data/opencpn-5.2.4+dfsg/src/s52cnsy.cpp:3941: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 *r = (char *)malloc(strlen(symins) + 1);
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:807: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( slatc && (strlen(slatc) < 6) )
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:850:33:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                                strncpy( ss, slatv, 39 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:974: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( buffer.data() );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1029:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( strk, str, 8 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1046:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( strk, str, 8 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1062:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( strk, str, 8 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1080:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( stt, str, 8 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:1651: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).
            unsigned int len = wxMin(strlen(buffer.data()), (unsigned int)bsz-1);
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:2910: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).
    int nl = strlen( cstr );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:2915:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy( colname, &cstr[i], 5 );
data/opencpn-5.2.4+dfsg/src/s52plib.cpp:11583: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 noColors = strlen( col ) / 6;
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:2602: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).
    sha1( (unsigned char *) buf.data(), strlen(buf.data()), sha1_out );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3680: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( strlen( u ) ) sumdate = wxString( u, wxConvUTF8 );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3701: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).
                                             if( strlen( u ) ) umedtn = wxString( u, wxConvUTF8 );
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:3863: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( strlen( u ) ) {
data/opencpn-5.2.4+dfsg/src/s57chart.cpp:5425: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( 0 == strlen( name_desc ) ) {
data/opencpn-5.2.4+dfsg/src/s57classregistrar.cpp:191: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).
        nReadSoFar = strlen(pszRLBuffer);
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:201:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy( FeatureName, featureName, 6 );
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:221:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(att_array + (6 * sizeof(char) * n_attr), acronym, 6);
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:248:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(att_array + (6 * sizeof(char) * n_attr), acronym, 6);
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:265: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).
    char *pAVS = (char *)malloc(strlen(val) + 1);   //new string
data/opencpn-5.2.4+dfsg/src/s57obj.cpp:272:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(att_array + (6 * sizeof(char) * n_attr), acronym, 6);
data/opencpn-5.2.4+dfsg/src/s57reader.cpp:864: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).
            if( strlen(pszValue) == 0 )
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2660:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(string) >= MONOLOGUE_LENGTH) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2677:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(string) >= ONELINER_LENGTH) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2714: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).
    l = (int)strlen(string);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2729:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy (new_string, string+start, end-start+1);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2772: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).
    for (i = 0 ; i < strlen(string) + 1 ; ++i)
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:2781: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 (i = 0 ; i < strlen(tindex[j].name) + 1 ; ++i)
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3354:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(name) + 1 > hd.tzfile_size) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3371: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).
    hd.tzfile[hd.pub.tzfiles] = (NV_CHAR *) calloc (strlen (c_name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3417:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(name) + 1 > hd.country_size) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3434: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).
    hd.country[hd.pub.countries] = (NV_CHAR *) calloc (strlen (c_name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3480:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(name) + 1 > hd.datum_size) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3497: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).
    hd.datum[hd.pub.datum_types] = (NV_CHAR *) calloc (strlen (c_name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3528:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(name) + 1 > hd.legalese_size) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3545: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).
    hd.legalese[hd.pub.legaleses] = (NV_CHAR *) calloc (strlen (c_name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3591:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(name) + 1 > hd.restriction_size) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:3609: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).
        (NV_CHAR *) calloc (strlen (c_name) + 1, sizeof (NV_CHAR));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4054: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).
        assert (strlen(hd.level_unit[i]) + 1 <= hd.level_unit_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4077: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).
        assert (strlen(hd.dir_unit[i]) + 1 <= hd.dir_unit_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4101: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).
        assert (strlen(hd.restriction[i]) + 1 <= hd.restriction_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4126: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).
        assert (strlen(hd.tzfile[i]) + 1 <= hd.tzfile_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4151: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).
        assert (strlen(hd.country[i]) + 1 <= hd.country_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4176: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).
        assert (strlen(hd.datum[i]) + 1 <= hd.datum_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4201: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).
        assert (strlen(hd.legalese[i]) + 1 <= hd.legalese_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4225: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).
        assert (strlen(hd.constituent[i]) + 1 <= hd.constituent_size);
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4537: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).
        if (strlen (varin) == ONELINER_LENGTH-1) {
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4686: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).
        hd.level_unit[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4709: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).
        hd.dir_unit[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4739: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).
        hd.restriction[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4777: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).
        hd.tzfile[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4805: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).
        hd.country[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4834: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).
        hd.datum[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4871: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).
            hd.legalese[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR));
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:4895: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).
        hd.constituent[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5072: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).
                    (NV_CHAR *) calloc (strlen (rec.header.name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5346: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).
        hd.constituent[i] = (NV_CHAR *) calloc (strlen (constituent[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5495: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).
        hd.level_unit[i] = (NV_CHAR *) calloc (strlen (level_unit[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5510: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).
        hd.dir_unit[i] = (NV_CHAR *) calloc (strlen (dir_unit[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5529: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).
        hd.restriction[i] = (NV_CHAR *) calloc (strlen (restriction[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5547: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).
        hd.legalese[i] = (NV_CHAR *) calloc (strlen (legalese[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5564: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).
        hd.tzfile[i] = (NV_CHAR *) calloc (strlen (tzfile[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5581: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).
        hd.country[i] = (NV_CHAR *) calloc (strlen (country[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5598: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).
        hd.datum[i] = (NV_CHAR *) calloc (strlen (datum[i]) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5872: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).
    name_size = strlen(clip_string(rec->header.name))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5873: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).
    source_size = strlen(clip_string(rec->source))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5874: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).
    comments_size = strlen(clip_string(rec->comments))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5875: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).
    notes_size = strlen(clip_string(rec->notes))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5876: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).
    station_id_context_size = strlen(clip_string(rec->station_id_context))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5877: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).
    station_id_size = strlen(clip_string(rec->station_id))+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5879: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).
    xfields_size = strlen(rec->xfields)+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:5959: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).
    temp_size = strlen(s)+1;
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:6663: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).
                    (NV_CHAR *) calloc (strlen (rec->header.name) + 1,
data/opencpn-5.2.4+dfsg/src/tcmgr.cpp:6900: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).
            tindex[num].name = (NV_CHAR *) calloc (strlen (rec->header.name) + 1, sizeof (NV_CHAR));
data/opencpn-5.2.4+dfsg/src/update_mgr.cpp:290: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).
            button->Enable(strlen(url) > 0);
data/opencpn-5.2.4+dfsg/src/wificlient.cpp:270: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).
                    if(strlen(pt->ESSID))
data/opencpn-5.2.4+dfsg/src/wificlient.cpp:307: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(strlen(pt->ESSID))

ANALYSIS SUMMARY:

Hits = 2842
Lines analyzed = 968141 in approximately 34.00 seconds (28471 lines/second)
Physical Source Lines of Code (SLOC) = 685244
Hits@level = [0] 1101 [1] 699 [2] 1762 [3]  45 [4] 334 [5]   2
Hits@level+ = [0+] 3943 [1+] 2842 [2+] 2143 [3+] 381 [4+] 336 [5+]   2
Hits/KSLOC@level+ = [0+] 5.75415 [1+] 4.14743 [2+] 3.12735 [3+] 0.556006 [4+] 0.490336 [5+] 0.00291867
Dot directories skipped = 2 (--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.