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/aseba-1.6.99+dfsg/tests/vm/aseba-test-natives-count.cpp
Examining data/aseba-1.6.99+dfsg/tests/msg/aseba-test-msg.cpp
Examining data/aseba-1.6.99+dfsg/tests/common/utf8.cpp
Examining data/aseba-1.6.99+dfsg/tests/common/aseba-test-invalid-utf8.cpp
Examining data/aseba-1.6.99+dfsg/tests/test-http.cpp
Examining data/aseba-1.6.99+dfsg/tests/simulator/aseba-test-simulator.cpp
Examining data/aseba-1.6.99+dfsg/tests/compiler/asebavmdummycallbacks.cpp
Examining data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp
Examining data/aseba-1.6.99+dfsg/examples/zeroconf/targetlist-qt.h
Examining data/aseba-1.6.99+dfsg/examples/zeroconf/targetlist-thread.cpp
Examining data/aseba-1.6.99+dfsg/examples/zeroconf/targetadvertise.cpp
Examining data/aseba-1.6.99+dfsg/examples/zeroconf/targetlist-dashelhub.cpp
Examining data/aseba-1.6.99+dfsg/examples/zeroconf/targetlist-qt.cpp
Examining data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp
Examining data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.h
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-dbus/dbusinterface.h
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-dbus/dbusinterface.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-dbus/main.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-gui/dashelinterface.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-gui/mainwindow.h
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-gui/dashelinterface.h
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-gui/mainwindow.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-gui/main.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp
Examining data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.h
Examining data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp
Examining data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c
Examining data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/warn.h
Examining data/aseba-1.6.99+dfsg/aseba/vm/vm.h
Examining data/aseba-1.6.99+dfsg/aseba/vm/vm.c
Examining data/aseba-1.6.99+dfsg/aseba/vm/natives.c
Examining data/aseba-1.6.99+dfsg/aseba/vm/natives.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/microchip_usb/usb-buffer.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/microchip_usb/usb-buffer.c
Examining data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/none.cpp
Examining data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp
Examining data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/dashel-plugins.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.cpp
Examining data/aseba-1.6.99+dfsg/aseba/transport/buffer/vm-buffer.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/buffer/vm-buffer.c
Examining data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.c
Examining data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.h
Examining data/aseba-1.6.99+dfsg/aseba/transport/can/can-buffer.c
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/NodesManager.h
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/endian.h
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/TargetDescription.h
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/NodesManager.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/msg.h
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/TargetDescription.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/msg/msg.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf.h
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-thread.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/txtrecord.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/target.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-qt.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-dashelhub.h
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-thread.h
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-dashelhub.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf-qt.h
Examining data/aseba-1.6.99+dfsg/aseba/common/types.h
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/HexFile.h
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/BootloaderInterface.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/BootloaderInterface.h
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/HexFile.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/FormatableString.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/FormatableString.h
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/utils.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/utils/utils.h
Examining data/aseba-1.6.99+dfsg/aseba/common/consts.h
Examining data/aseba-1.6.99+dfsg/aseba/common/authors.h
Examining data/aseba-1.6.99+dfsg/aseba/common/about/AboutDialog.h
Examining data/aseba-1.6.99+dfsg/aseba/common/about/AboutDialog.cpp
Examining data/aseba-1.6.99+dfsg/aseba/common/productids.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode_description.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel-user.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel-user.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/dspic33/main.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot-vm-descriptions.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/EnkiMarxbot.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_charge3.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_charge0.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_charge2.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_base.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_charge1.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/objects/food_ring.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge-vm-description.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/can-translator/morse.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/can-translator/hardware.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/can-translator/morse.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/PlaygroundDBusAdaptors.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/EnkiGlue.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/playground.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/DirectAsebaGlue.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/AsebaGlue.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/DirectAsebaGlue.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/Parameters.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/EnkiGlue.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/AsebaGlue.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/e-puck/EPuck.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/e-puck/EPuck.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/e-puck/EPuck-descriptions.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-descriptions.c
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/PlaygroundViewer.cpp
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/Robots.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/PlaygroundDBusAdaptors.h
Examining data/aseba-1.6.99+dfsg/aseba/targets/playground/PlaygroundViewer.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http/http.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http/main.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterface.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/AeslProgram.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpHandler.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpResponse.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpDashelTarget.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpResponse.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/AeslProgram.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterfaceHandlers.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpDashelTarget.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/main.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpRequest.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterfaceHandlers.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpRequest.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterface.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/medulla/medulla.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/medulla/medulla.cpp
Examining data/aseba-1.6.99+dfsg/aseba/switches/switch/switch.h
Examining data/aseba-1.6.99+dfsg/aseba/switches/switch/switch.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/errors.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-emit.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/analysis.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree.h
Examining data/aseba-1.6.99+dfsg/aseba/compiler/compiler.h
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/errors_code.h
Examining data/aseba-1.6.99+dfsg/aseba/compiler/identifier-lookup.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-typecheck.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/power-of-two.h
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-optimize.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/tree-dump.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/lexer.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/parser.cpp
Examining data/aseba-1.6.99+dfsg/aseba/compiler/compiler.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/dump/dump.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/thymioupgrader/ThymioUpgrader.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/thymioupgrader/ThymioUpgrader.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/joy/asebajoy.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/massloader/massloader.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/eventlogger/eventlogger.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ThymioVPLStandalone.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/HelpViewer.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/CustomDelegate.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/FindDialog.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/DashelTarget.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ConfigDialog.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/AeslEditor.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ModelAggregator.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/TargetModels.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/Plugin.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/thymiovpl.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/rendervplblocks.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/PluginRegistry.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/Target.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/StudioAeslEditor.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/AeslEditor.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/FindDialog.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/CustomDelegate.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/CustomWidgets.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ThymioVPLStandalone.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/translations/CompilerTranslator.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/translations/CompilerTranslator.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/TargetModels.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/EventViewer.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/EventViewer.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/VariablesViewPlugin.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/StopThymioPlugin.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/StopThymioPlugin.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/VariablesViewPlugin.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Style.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ResizingView.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Utils.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Scene.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ActionBlocks.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/UsageLogger.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/EventBlocks.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Buttons.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Scene.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/UsageLogger.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Utils.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/EventActionsSet.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Block.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ActionBlocks.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/StateBlocks.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/LogSignalMapper.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Buttons.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ResizingView.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/StateBlocks.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Style.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Compiler.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ThymioVisualProgramming.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Block.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/Compiler.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ThymioVisualProgramming.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/LogSignalMapper.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/CompilerVisitors.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/EventActionsSet.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/EventBlocks.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/CustomWidgets.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/StudioAeslEditor.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/Plugin.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/NamedValuesVectorModel.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/NamedValuesVectorModel.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ClickableLabel.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/HelpViewer.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/main.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/DashelTarget.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ConfigDialog.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ClickableLabel.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/ModelAggregator.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/PluginRegistry.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/studio/Target.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/replay/play.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/replay/rec.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/exec/exec.cpp
Examining data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/thymiownetconfig-cli.c
Examining data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.h
Examining data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp

FINAL RESULTS:

data/aseba-1.6.99+dfsg/aseba/clients/exec/exec.cpp:61:19:  [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.
				const int ret(system(programName));
data/aseba-1.6.99+dfsg/aseba/clients/studio/DashelTarget.cpp:124:17:  [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.
			if (QLocale::system().name().startsWith(languageSelectionBox->itemData(i).toString()))
data/aseba-1.6.99+dfsg/aseba/clients/studio/DashelTarget.cpp:358:40:  [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.
		const QString& systemLocale(QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/clients/studio/main.cpp:106:35:  [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.
		const QString language(QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/clients/thymioupgrader/ThymioUpgrader.cpp:494:46:  [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.
	qtTranslator.load(QString("qt_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
data/aseba-1.6.99+dfsg/aseba/clients/thymioupgrader/ThymioUpgrader.cpp:495:58:  [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.
	translator.load(QString(":/thymioupgrader_") + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:252:46:  [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.
	qtTranslator.load(QString("qt_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:253:60:  [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.
	translator.load(QString(":/thymiownetconfig_") + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1117:16:  [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.
		if (QLocale::system().name().startsWith(languageSelectionBox->itemData(i).toString()))
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1139:37:  [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.
	qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1144:58:  [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.
	translator.load(QString(":/asebachallenge_") + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:464:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(error_string, number);
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:469:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(error_string, number);
data/aseba-1.6.99+dfsg/aseba/targets/playground/playground.cpp:140:37:  [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.
	qtTranslator.load("qt_" + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/targets/playground/playground.cpp:144:59:  [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.
	translator.load(QString(":/asebaplayground_") + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/targets/playground/playground.cpp:148:56:  [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.
	aboutTranslator.load(QString(":/qtabout_") + QLocale::system().name());
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:126: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(ifr.ifr_name, ifName.c_str());
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:319: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.
        fprintf(stderr, __FILE__": read() failed: %s\n", r < 0 ? strerror(errno) : "EOF");
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:330: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.
        fprintf(stderr, __FILE__": write() failed: %s\n", strerror(errno));
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:387:25:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
                        fprintf(stderr, __FILE__": avahi_simple_poll_run() failed: %s\n", strerror(errno));
data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/UsageLogger.cpp:416:2:  [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(time(nullptr));
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:602:25:  [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.
			epuck->pos.x = Enki::random.getRange(120)+10;
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:603:25:  [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.
			epuck->pos.y = Enki::random.getRange(120)+10;
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1189:24:  [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.
		epuck->pos.x = Enki::random.getRange(120)+10;
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1190:24:  [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.
		epuck->pos.y = Enki::random.getRange(120)+10;
data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp:247:7:  [3] (buffer) getopt_long:
  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.
		c = getopt_long(argc, argv, short_options, long_options, &index);
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:8125:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
            std::srand( config.rngSeed() );
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:220:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			GetNodeDescription message(atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:230: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).
			uint16_t type = atoi(argv[1]);
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:235: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).
				data[i] = atoi(argv[i+2]);
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:248:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			CmdBootloaderInterface bootloader(stream, atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:251:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			if (bootloader.readPage(atoi(argv[2]), &data[0]))
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:260: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).
				errorReadPage(atoi(argv[2]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:268:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			CmdBootloaderInterface bootloader(stream, atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:270: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).
			cout << "Page: " << atoi(argv[2]) << endl;
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:271: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).
			if(bootloader.readPageSimple(atoi(argv[2]), &data[0])) {
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:279: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).
				errorReadPage(atoi(argv[2]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:298: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).
				CmdBootloaderInterface bootloader(stream, atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:319: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).
				CmdBootloaderInterface bootloader(stream, atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:337: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).
				CmdBootloaderInterface bootloader(stream, atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:353: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).
			dest = atoi(argv[1]);
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:388: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).
			dest = atoi(argv[1]);
data/aseba-1.6.99+dfsg/aseba/clients/cmd/cmd.cpp:401: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).
			dest = atoi(argv[1]);
data/aseba-1.6.99+dfsg/aseba/clients/eventlogger/eventlogger.cpp:109: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).
			outputFile.open(filename);
data/aseba-1.6.99+dfsg/aseba/clients/eventlogger/eventlogger.cpp:181:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
		EventLogger logger(argv[1], atoi(argv[2]), atoi(argv[3]), (argc > 4 ? argv[4] : 0));
data/aseba-1.6.99+dfsg/aseba/clients/eventlogger/eventlogger.cpp:181:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
		EventLogger logger(argv[1], atoi(argv[2]), atoi(argv[3]), (argc > 4 ? argv[4] : 0));
data/aseba-1.6.99+dfsg/aseba/clients/exec/exec.cpp:105: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).
	const unsigned msgId(atoi(argv[1]));
data/aseba-1.6.99+dfsg/aseba/clients/exec/exec.cpp:106: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.
	const char *programName(argv[2]);
data/aseba-1.6.99+dfsg/aseba/clients/massloader/massloader.cpp:163:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/clients/replay/play.cpp:104: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).
			buffer.rawData.reserve(atoi(tokenizedLine.front().c_str()));
data/aseba-1.6.99+dfsg/aseba/clients/studio/EventViewer.cpp:236:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::WriteOnly | QFile::Truncate))
data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp:866:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::WriteOnly | QFile::Truncate))
data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp:1732:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp:1921:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::WriteOnly | QFile::Truncate))
data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp:2030:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::WriteOnly | QFile::Truncate))
data/aseba-1.6.99+dfsg/aseba/clients/studio/MainWindow.cpp:2062:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/clients/studio/ThymioVPLStandalone.cpp:320:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::WriteOnly | QFile::Truncate))
data/aseba-1.6.99+dfsg/aseba/clients/studio/ThymioVPLStandalone.cpp:382:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/UsageLogger.cpp:405: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[100];
data/aseba-1.6.99+dfsg/aseba/clients/thymioupgrader/ThymioUpgrader.cpp:464:25:  [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 (officialHexFile.open())
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/thymiownetconfig-cli.c:46:7:  [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(file, O_RDWR);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/thymiownetconfig-cli.c:166:8:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			c = atoi(argv[i]);
data/aseba-1.6.99+dfsg/aseba/common/zeroconf/target.cpp:73:8:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
		port(atoi(stream->getTargetParameter("port").c_str()))
data/aseba-1.6.99+dfsg/aseba/common/zeroconf/zeroconf.cpp:336: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).
		return getTarget(name, atoi(stream->getTargetParameter("port").c_str()));
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:419: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 hostname[256];
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:421: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(hostname, "unknown host");
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:736:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                if (! (int(nodeId) == atoi(args[0].c_str()) ||
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1031:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1100: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).
            data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1282: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).
                    int eventSize = atoi((const char *)size);
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1308:70:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if 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((const char *)value)));
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1345: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).
                    if (preferredId == unsigned(atoi((char*)storedId))
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1669: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).
            sse_todo = atoi(query[1].substr(5).c_str());
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1705:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        int content_length = atoi(headers["Content-Length"].c_str());
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1765: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(reply_str, reply.str().c_str(), reply_len);
data/aseba-1.6.99+dfsg/aseba/switches/http/main.cpp:105: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).
            Kiterations = atoi(argv[argCounter++]);
data/aseba-1.6.99+dfsg/aseba/switches/http2/AeslProgram.cpp:81: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 eventSize = atoi((const char *) size);
data/aseba-1.6.99+dfsg/aseba/switches/http2/AeslProgram.cpp:99:107:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if 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(name && value) commonDefinitions.constants.push_back(NamedValue(UTF8ToWString((const char *) name), atoi((const char *) value)));
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpDashelTarget.cpp:66: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).
				data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpDashelTarget.cpp:165: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).
			data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterfaceHandlers.cpp:549:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
				char buffer[bufferSize];
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpRequest.cpp:171: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 contentLength = atoi(headers["Content-Length"].c_str());
data/aseba-1.6.99+dfsg/aseba/switches/http2/main.cpp:76:84:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
		else if((strcmp(arg, "-K") == 0) || (strcmp(arg, "--Kiter") == 0)) Kiterations = atoi(argv[argCounter++]);
data/aseba-1.6.99+dfsg/aseba/switches/medulla/medulla.cpp:196:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(QFile::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/switches/medulla/medulla.cpp:700: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).
			port = atoi(arg);
data/aseba-1.6.99+dfsg/aseba/switches/switch/switch.cpp:78: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 hostname[256];
data/aseba-1.6.99+dfsg/aseba/switches/switch/switch.cpp:80: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(hostname, "unknown host");
data/aseba-1.6.99+dfsg/aseba/switches/switch/switch.cpp:273: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).
			port = atoi(arg);
data/aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c:57: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.
static __attribute((far)) __attribute((aligned(2))) unsigned char uartSendBuffer[ASEBA_MAX_OUTER_PACKET_SIZE];
data/aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c:60:63:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 __attribute((far))  __attribute((aligned(2))) unsigned char uartRecvBuffer[ASEBA_MAX_OUTER_PACKET_SIZE];
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:1022:3:  [2] (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, &asebaEPuckMap[vm]->lastMessageData[0], asebaEPuckMap[vm]->lastMessageData.size());
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:217: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.
unsigned char  aseba_flash[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode"), address(0x15800 - 0x800 /* bootloader */ - 0x400 /* settings */ - NUMBER_OF_CHUNK*0x400L*PAGE_PER_CHUNK)/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:218: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.
unsigned char aseba_flash1[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:219: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.
unsigned char aseba_flash2[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:220: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.
unsigned char aseba_flash3[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:221: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.
unsigned char aseba_flash4[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:222: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.
unsigned char aseba_flash5[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:223: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.
unsigned char aseba_flash6[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:224: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.
unsigned char aseba_flash7[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:225: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.
unsigned char aseba_flash8[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:226: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.
unsigned char aseba_flash9[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:227: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.
unsigned char aseba_flash10[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:228: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.
unsigned char aseba_flash11[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:229: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.
unsigned char aseba_flash12[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:230: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.
unsigned char aseba_flash13[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:231: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.
unsigned char aseba_flash14[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/)); 
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:232: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.
unsigned char aseba_flash15[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:233: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.
unsigned char aseba_flash16[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:234: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.
unsigned char aseba_flash17[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:235: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.
unsigned char aseba_flash18[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:236: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.
unsigned char aseba_flash19[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:237: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.
unsigned char aseba_flash20[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:238: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.
unsigned char aseba_flash21[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:239: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.
unsigned char aseba_flash22[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:240: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.
unsigned char aseba_flash23[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:241: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.
unsigned char aseba_flash24[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:242: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.
unsigned char aseba_flash25[PAGE_PER_CHUNK][INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), aligned(INSTRUCTIONS_PER_PAGE * 2), section(".aseba_bytecode")/*, noload*/));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:245: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.
unsigned char __bootloader[INSTRUCTIONS_PER_PAGE * 2 * 2] __attribute((space(prog), section(".boot"), noload, address(0x15800 - 0x800)));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:248: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.
unsigned char aseba_settings_flash[INSTRUCTIONS_PER_PAGE * 2] __attribute__ ((space(prog), section(".aseba_settings"), noload, address(0x15800 - 0x800 - 0x400)));
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:299: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 data[3];
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:313: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 data[2];
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:460: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 error_string[255];
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:461: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 number[10];
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:462: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(error_string, "Molole error 0x");
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:465:2:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
	strcat(error_string, " in file: ");
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:59: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 mutableName[12];
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:296:3:  [2] (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, &node.lastMessageData[0], node.lastMessageData.size());
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:395:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			do_delta = false, port = atoi(argv[argCounter++]);
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:400: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).
			deltaNodeId = atoi(arg);
data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.cpp:112: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(data, &(event.data[0]), length);
data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.h:61:5:  [2] (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->data[0], data, length);
data/aseba-1.6.99+dfsg/aseba/targets/playground/AsebaGlue.cpp:61: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(data, &lastMessageData[0], len);
data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.cpp:74:20:  [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).
	void SlidingDoor::open(void)
data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.cpp:151: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).
				attachedDoor->open();
data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.h:31:16:  [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).
		virtual void open() = 0;
data/aseba-1.6.99+dfsg/aseba/targets/playground/Door.h:57:16:  [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).
		virtual void open(void);
data/aseba-1.6.99+dfsg/aseba/targets/playground/playground.cpp:180: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).
		if (file.open(QIODevice::ReadOnly))
data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2.cpp:284: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).
			sdCardFile.open(fileName.c_str(), std::ios::in | std::ios::out | std::ios::binary);
data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2.cpp:288:16:  [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).
				sdCardFile.open(fileName.c_str(), std::ios::in | std::ios::out | std::ios::binary | std::ios::trunc);
data/aseba-1.6.99+dfsg/aseba/transport/buffer/vm-buffer.c:27: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 buffer[ASEBA_MAX_INNER_PACKET_SIZE];
data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.c:100: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(asebaCan.sendQueue[asebaCan.sendQueueInsertPos].data, data, size);
data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.c:288:5:  [2] (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, asebaCan.recvQueue[i].data, len);
data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.c:326:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(data + pos, asebaCan.recvQueue[i].data, amount);
data/aseba-1.6.99+dfsg/aseba/transport/can/can-net.c:405:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(&asebaCan.recvQueue[asebaCan.recvQueueInsertPos], frame, sizeof(*frame));
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.cpp:154:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(data,rx_urb.buffer,cpy);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.h:32: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 rx_data[512];
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:84: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 tx_buffer[ASEBA_MAX_OUTER_PACKET_SIZE];
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:86: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 rx_buffer[ASEBA_MAX_OUTER_PACKET_SIZE];
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:93:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char ctrlmsg[CMSG_SPACE(sizeof(struct timeval)) + CMSG_SPACE(sizeof(__u32))];
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:207:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(&frame.data[2], &tx_buffer[6], packet_len);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:217:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(&frame.data[2], p, 6);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:226:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(frame.data, p, 8);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:233:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(frame.data, p, packet_len);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:286: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(&rx_buffer[4], rx_fifo[i].f.data, rx_fifo[i].f.can_dlc);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:323:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(&rx_buffer[rx_len], rx_fifo[i].f.data, rx_fifo[i].f.can_dlc);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:386:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(&rx_fifo[rx_insert].f,&rframe,sizeof(rframe));
data/aseba-1.6.99+dfsg/aseba/vm/vm.c:552: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(buffer+3, message, msgLen);
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:364: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).
		data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:388: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).
		data.push_back(atoi(args[i].c_str()));
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:453:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
							preferedId = unsigned(atoi((char*)storedId));
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:483: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).
					int eventSize(atoi((const char *)size));
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:514:90:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					commonDefinitions.constants.push_back(NamedValue(UTF8ToWString((const char *)name), atoi((const char *)value)));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:89: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).
				unsigned index(atoi(parts[1].c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:117:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				value = atoi(parts[0].c_str());
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:453: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).
				createBotspeakVarIfUndefined(UTF8ToWString(tokens.at(0)), atoi(tokens.back().c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:514:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					const unsigned gotoAddr(atoi(cmd.back().c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:523:64:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					createBotspeakVarIfUndefined(UTF8ToWString(tokens.at(0)), atoi(tokens.back().c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:600:72:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					asebaSource += WFormatableString(L"\ttimer.period[0] = %0\n").arg(atoi(cmd.at(1).c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:604:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				const unsigned destLine(atoi(cmd.back().c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:623:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				const unsigned destLine(atoi(cmd.back().c_str()));
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:890: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).
		botSpeakPort = atoi(argv[2]);
data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp:291: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).
				stepCount = atoi(optarg);
data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp:381:7:  [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).
		ifs.open(memCmpFileName.data(), std::ifstream::in);
data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp:425:6:  [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).
	ifs.open( filename.c_str(),std::ifstream::binary);
data/aseba-1.6.99+dfsg/tests/test-http.cpp:208: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).
	        REQUIRE( atoi(values[0].c_str()) == 42 );
data/aseba-1.6.99+dfsg/tests/test-http.cpp:236: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).
	        REQUIRE( atoi(values[0].c_str()) == 42 );
data/aseba-1.6.99+dfsg/tests/test-http.cpp:237: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).
	        REQUIRE( atoi(values[1].c_str()) == 63 );
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:595:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char type_fixed[AVAHI_DOMAIN_NAME_MAX], domain_fixed[AVAHI_DOMAIN_NAME_MAX];
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:795: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 host_name_fixed[AVAHI_DOMAIN_NAME_MAX];
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:796: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 full_name[AVAHI_DOMAIN_NAME_MAX];
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:910: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 domain_fixed[AVAHI_DOMAIN_NAME_MAX];
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:1038:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char regtype_fixed[AVAHI_DOMAIN_NAME_MAX], domain_fixed[AVAHI_DOMAIN_NAME_MAX];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:1224: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 timeStamp[timeStampSize];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:3437: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.
        alignas(alignof(T)) char storage[sizeof(T)];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:3897: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 char line[CATCH_CONFIG_CONSOLE_WIDTH] = {0};
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:4465: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).
        void open();
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:7829:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(&i, &f, sizeof(f));
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:7838:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(&i, &d, sizeof(d));
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9169: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 **utf8Argv = new char *[ argc ];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9291: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 data[bufferSize];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9340:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                m_ofs.open( filename.c_str() );
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9590:13:  [2] (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_data, m_start, m_size );
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:10103:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    void TrackerBase::open() {
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:10192: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).
            open();
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:10231: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).
            tracker->open();
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:10509: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 asChar[sizeof (int)];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:11061: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[maxDoubleSize];
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:11068: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(buffer, "%.3f", duration);
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:11636: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).
    void open() {
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:11665: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).
        tp.open();
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:12011: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 timeStamp[timeStampSize];
data/aseba-1.6.99+dfsg/aseba/clients/replay/play.cpp:156:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			char c(stream->read<char>());
data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ThymioVisualProgramming.cpp:1095:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const QImage playImage(playReader.read());
data/aseba-1.6.99+dfsg/aseba/clients/studio/plugins/ThymioVPL/ThymioVisualProgramming.cpp:1099:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const QImage playRedImage(playRedReader.read());
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:157:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&settings, sizeof(settings)-1);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:205:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&settings, sizeof(settings)-1);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:212:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&settings, sizeof(settings)-1);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:219:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&settings, sizeof(settings)-1);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/ThymioWNetConfig.cpp:238:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&settings, sizeof(settings)-1);
data/aseba-1.6.99+dfsg/aseba/clients/thymiownetconfig/thymiownetconfig-cli.c:201:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	count = read(fd, &settings, sizeof(settings) - 1);
data/aseba-1.6.99+dfsg/aseba/common/msg/msg.cpp:184:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&len, 2);
data/aseba-1.6.99+dfsg/aseba/common/msg/msg.cpp:186:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&source, 2);
data/aseba-1.6.99+dfsg/aseba/common/msg/msg.cpp:188:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&type, 2);
data/aseba-1.6.99+dfsg/aseba/common/msg/msg.cpp:195:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&buffer.rawData[0], len);
data/aseba-1.6.99+dfsg/aseba/common/utils/BootloaderInterface.cpp:116:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(data, 2048);
data/aseba-1.6.99+dfsg/aseba/common/utils/BootloaderInterface.cpp:219:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		hexFile.read(fileName);
data/aseba-1.6.99+dfsg/aseba/common/utils/HexFile.cpp:84:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	void HexFile::read(const std::string &fileName)
data/aseba-1.6.99+dfsg/aseba/common/utils/HexFile.h:98:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		void read(const std::string &fileName);
data/aseba-1.6.99+dfsg/aseba/common/utils/utils.cpp:106: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).
		timeString[strlen(timeString) - 1] = 0;
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:126:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream->read(&c, 1);
data/aseba-1.6.99+dfsg/aseba/switches/http/http.cpp:1708:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream->read(buffer, content_length);
data/aseba-1.6.99+dfsg/aseba/switches/http/main.cpp:128:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                        network.aeslLoadMemory(nodeId, failsafe,strlen(failsafe));
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpInterfaceHandlers.cpp:550:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				f.read(buffer, bufferSize);
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpRequest.cpp:208:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&c, 1);
data/aseba-1.6.99+dfsg/aseba/switches/http2/HttpRequest.cpp:217:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	stream->read(buffer, size);
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:257:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:259:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/challenge/challenge.cpp:262:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&lastMessageData[0], lastMessageData.size());
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:466:2:  [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(error_string, file, 200);
data/aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:467:2:  [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(error_string, ":");
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:102:3:  [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(mutableName, "dummynode-0", 12);
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:203:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:205:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/dummy/dummynode.cpp:208:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		stream->read(&lastMessageData[0], lastMessageData.size());
data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.h:68:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.h:70:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/enki-marxbot/AsebaMarxbot.h:73:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				stream->read(&data[0], data.size());
data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.cpp:91:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&c, 1);
data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.cpp:101:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.cpp:103:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&temp, 2);
data/aseba-1.6.99+dfsg/aseba/targets/playground/DashelAsebaGlue.cpp:106:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			stream->read(&lastMessageData[0], lastMessageData.size());
data/aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:370:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			thymio2->sdCardFile.read(reinterpret_cast<char*>(&vm->variables[dataAddr]), dataLength*2);
data/aseba-1.6.99+dfsg/aseba/transport/buffer/vm-buffer.c:64: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).
	uint16_t len = strlen(s);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.cpp:140:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void AndroidStream::read(void *data, size_t size)
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/android.h:16:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual void read(void *data, size_t size);
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:123:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			if(strlen(ifName.c_str()) >= IFNAMSIZ)
data/aseba-1.6.99+dfsg/aseba/transport/dashel_plugins/socketcan.cpp:394:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		virtual void read(void *data, size_t size) 
data/aseba-1.6.99+dfsg/aseba/vm/vm.c:536: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).
	uint16_t msgLen = strlen(message);
data/aseba-1.6.99+dfsg/examples/clients/cpp-qt-dbus/dbusinterface.cpp:65:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read >> values;
data/aseba-1.6.99+dfsg/examples/clients/cpp-shell/shell.cpp:157:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	stream->read(&c, 1);
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:369:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		while ((c = stream->read<uint8_t>()) != '\r')
data/aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:380:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		c = stream->read<uint8_t>();
data/aseba-1.6.99+dfsg/tests/compiler/asebatest.cpp:438:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	ifs.read(&utf8Source[0], length);
data/aseba-1.6.99+dfsg/tests/simulator/aseba-test-simulator.cpp:220:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	if (!equal(expected.begin(), expected.end(), &thymio->variables.freeSpace[0]))
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:305: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 (s[strlen(s)-1] == '.')
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:318:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if ((r = read(fd, &command, 1)) != 1) {
data/aseba-1.6.99+dfsg/third_party/avahi-compat-libdns_sd/compat.c:809: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(full_name, ".");
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9192:36:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            static_cast<void>(std::getchar());
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9197:36:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            static_cast<void>(std::getchar());
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9478:50:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return s.size() >= prefix.size() && std::equal(prefix.begin(), prefix.end(), s.begin());
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9484:50:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return s.size() >= suffix.size() && std::equal(suffix.rbegin(), suffix.rend(), s.rbegin());
data/aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:9558: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).
    : StringRef( rawChars, static_cast<StringRef::size_type>(std::strlen(rawChars) ) )

ANALYSIS SUMMARY:

Hits = 262
Lines analyzed = 82120 in approximately 2.41 seconds (34008 lines/second)
Physical Source Lines of Code (SLOC) = 59629
Hits@level = [0]  27 [1]  61 [2] 174 [3]   7 [4]  20 [5]   0
Hits@level+ = [0+] 289 [1+] 262 [2+] 201 [3+]  27 [4+]  20 [5+]   0
Hits/KSLOC@level+ = [0+] 4.84664 [1+] 4.39384 [2+] 3.37084 [3+] 0.4528 [4+] 0.335407 [5+]   0
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.