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.