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/higan-106/hiro/resource/resource.cpp
Examining data/higan-106/hiro/resource/resource.hpp
Examining data/higan-106/hiro/gtk/widget/line-edit.hpp
Examining data/higan-106/hiro/gtk/widget/tab-frame-item.cpp
Examining data/higan-106/hiro/gtk/widget/vertical-slider.hpp
Examining data/higan-106/hiro/gtk/widget/combo-button-item.cpp
Examining data/higan-106/hiro/gtk/widget/widget.hpp
Examining data/higan-106/hiro/gtk/widget/table-view-cell.cpp
Examining data/higan-106/hiro/gtk/widget/vertical-scroll-bar.cpp
Examining data/higan-106/hiro/gtk/widget/frame.cpp
Examining data/higan-106/hiro/gtk/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/gtk/widget/button.cpp
Examining data/higan-106/hiro/gtk/widget/tab-frame.cpp
Examining data/higan-106/hiro/gtk/widget/radio-label.hpp
Examining data/higan-106/hiro/gtk/widget/check-label.hpp
Examining data/higan-106/hiro/gtk/widget/viewport.hpp
Examining data/higan-106/hiro/gtk/widget/table-view-column.hpp
Examining data/higan-106/hiro/gtk/widget/combo-edit-item.cpp
Examining data/higan-106/hiro/gtk/widget/hex-edit.hpp
Examining data/higan-106/hiro/gtk/widget/icon-view.hpp
Examining data/higan-106/hiro/gtk/widget/text-edit.hpp
Examining data/higan-106/hiro/gtk/widget/tree-view.hpp
Examining data/higan-106/hiro/gtk/widget/source-edit.hpp
Examining data/higan-106/hiro/gtk/widget/table-view-header.hpp
Examining data/higan-106/hiro/gtk/widget/canvas.cpp
Examining data/higan-106/hiro/gtk/widget/tree-view-item.cpp
Examining data/higan-106/hiro/gtk/widget/icon-view-item.hpp
Examining data/higan-106/hiro/gtk/widget/progress-bar.hpp
Examining data/higan-106/hiro/gtk/widget/tab-frame-item.hpp
Examining data/higan-106/hiro/gtk/widget/check-button.cpp
Examining data/higan-106/hiro/gtk/widget/radio-button.cpp
Examining data/higan-106/hiro/gtk/widget/combo-button-item.hpp
Examining data/higan-106/hiro/gtk/widget/table-view-cell.hpp
Examining data/higan-106/hiro/gtk/widget/combo-button.cpp
Examining data/higan-106/hiro/gtk/widget/table-view.cpp
Examining data/higan-106/hiro/gtk/widget/vertical-scroll-bar.hpp
Examining data/higan-106/hiro/gtk/widget/frame.hpp
Examining data/higan-106/hiro/gtk/widget/horizontal-slider.hpp
Examining data/higan-106/hiro/gtk/widget/button.hpp
Examining data/higan-106/hiro/gtk/widget/horizontal-scroll-bar.cpp
Examining data/higan-106/hiro/gtk/widget/tab-frame.hpp
Examining data/higan-106/hiro/gtk/widget/label.cpp
Examining data/higan-106/hiro/gtk/widget/combo-edit-item.hpp
Examining data/higan-106/hiro/gtk/widget/table-view-item.cpp
Examining data/higan-106/hiro/gtk/widget/combo-edit.cpp
Examining data/higan-106/hiro/gtk/widget/canvas.hpp
Examining data/higan-106/hiro/gtk/widget/console.cpp
Examining data/higan-106/hiro/gtk/widget/tree-view-item.hpp
Examining data/higan-106/hiro/gtk/widget/line-edit.cpp
Examining data/higan-106/hiro/gtk/widget/check-button.hpp
Examining data/higan-106/hiro/gtk/widget/radio-button.hpp
Examining data/higan-106/hiro/gtk/widget/vertical-slider.cpp
Examining data/higan-106/hiro/gtk/widget/widget.cpp
Examining data/higan-106/hiro/gtk/widget/combo-button.hpp
Examining data/higan-106/hiro/gtk/widget/table-view.hpp
Examining data/higan-106/hiro/gtk/widget/horizontal-scroll-bar.hpp
Examining data/higan-106/hiro/gtk/widget/radio-label.cpp
Examining data/higan-106/hiro/gtk/widget/label.hpp
Examining data/higan-106/hiro/gtk/widget/check-label.cpp
Examining data/higan-106/hiro/gtk/widget/viewport.cpp
Examining data/higan-106/hiro/gtk/widget/table-view-column.cpp
Examining data/higan-106/hiro/gtk/widget/table-view-item.hpp
Examining data/higan-106/hiro/gtk/widget/combo-edit.hpp
Examining data/higan-106/hiro/gtk/widget/hex-edit.cpp
Examining data/higan-106/hiro/gtk/widget/icon-view.cpp
Examining data/higan-106/hiro/gtk/widget/text-edit.cpp
Examining data/higan-106/hiro/gtk/widget/tree-view.cpp
Examining data/higan-106/hiro/gtk/widget/source-edit.cpp
Examining data/higan-106/hiro/gtk/widget/table-view-header.cpp
Examining data/higan-106/hiro/gtk/widget/console.hpp
Examining data/higan-106/hiro/gtk/widget/icon-view-item.cpp
Examining data/higan-106/hiro/gtk/widget/progress-bar.cpp
Examining data/higan-106/hiro/gtk/window.cpp
Examining data/higan-106/hiro/gtk/action/menu-separator.hpp
Examining data/higan-106/hiro/gtk/action/menu-radio-item.hpp
Examining data/higan-106/hiro/gtk/action/action.cpp
Examining data/higan-106/hiro/gtk/action/menu-item.cpp
Examining data/higan-106/hiro/gtk/action/menu.cpp
Examining data/higan-106/hiro/gtk/action/action.hpp
Examining data/higan-106/hiro/gtk/action/menu-check-item.cpp
Examining data/higan-106/hiro/gtk/action/menu-item.hpp
Examining data/higan-106/hiro/gtk/action/menu.hpp
Examining data/higan-106/hiro/gtk/action/menu-separator.cpp
Examining data/higan-106/hiro/gtk/action/menu-radio-item.cpp
Examining data/higan-106/hiro/gtk/action/menu-check-item.hpp
Examining data/higan-106/hiro/gtk/mouse.hpp
Examining data/higan-106/hiro/gtk/font.cpp
Examining data/higan-106/hiro/gtk/monitor.hpp
Examining data/higan-106/hiro/gtk/group.cpp
Examining data/higan-106/hiro/gtk/application.hpp
Examining data/higan-106/hiro/gtk/menu-bar.cpp
Examining data/higan-106/hiro/gtk/keyboard.hpp
Examining data/higan-106/hiro/gtk/layout.hpp
Examining data/higan-106/hiro/gtk/utility.cpp
Examining data/higan-106/hiro/gtk/timer.hpp
Examining data/higan-106/hiro/gtk/status-bar.cpp
Examining data/higan-106/hiro/gtk/object.hpp
Examining data/higan-106/hiro/gtk/message-window.hpp
Examining data/higan-106/hiro/gtk/window.hpp
Examining data/higan-106/hiro/gtk/browser-window.cpp
Examining data/higan-106/hiro/gtk/settings.cpp
Examining data/higan-106/hiro/gtk/font.hpp
Examining data/higan-106/hiro/gtk/group.hpp
Examining data/higan-106/hiro/gtk/menu-bar.hpp
Examining data/higan-106/hiro/gtk/header.hpp
Examining data/higan-106/hiro/gtk/desktop.cpp
Examining data/higan-106/hiro/gtk/sizable.cpp
Examining data/higan-106/hiro/gtk/platform.cpp
Examining data/higan-106/hiro/gtk/status-bar.hpp
Examining data/higan-106/hiro/gtk/popup-menu.cpp
Examining data/higan-106/hiro/gtk/browser-window.hpp
Examining data/higan-106/hiro/gtk/settings.hpp
Examining data/higan-106/hiro/gtk/mouse.cpp
Examining data/higan-106/hiro/gtk/monitor.cpp
Examining data/higan-106/hiro/gtk/application.cpp
Examining data/higan-106/hiro/gtk/desktop.hpp
Examining data/higan-106/hiro/gtk/keyboard.cpp
Examining data/higan-106/hiro/gtk/layout.cpp
Examining data/higan-106/hiro/gtk/timer.cpp
Examining data/higan-106/hiro/gtk/sizable.hpp
Examining data/higan-106/hiro/gtk/platform.hpp
Examining data/higan-106/hiro/gtk/popup-menu.hpp
Examining data/higan-106/hiro/gtk/object.cpp
Examining data/higan-106/hiro/gtk/message-window.cpp
Examining data/higan-106/hiro/qt/status-bar.cpp
Examining data/higan-106/hiro/qt/widget/table-view-item.hpp
Examining data/higan-106/hiro/qt/widget/widget.hpp
Examining data/higan-106/hiro/qt/widget/combo-button.hpp
Examining data/higan-106/hiro/qt/widget/table-view.hpp
Examining data/higan-106/hiro/qt/widget/button.hpp
Examining data/higan-106/hiro/qt/widget/console.cpp
Examining data/higan-106/hiro/qt/widget/tab-frame.hpp
Examining data/higan-106/hiro/qt/widget/horizontal-scroll-bar.cpp
Examining data/higan-106/hiro/qt/widget/horizontal-slider.hpp
Examining data/higan-106/hiro/qt/widget/table-view-cell.cpp
Examining data/higan-106/hiro/qt/widget/frame.cpp
Examining data/higan-106/hiro/qt/widget/canvas.hpp
Examining data/higan-106/hiro/qt/widget/icon-view.cpp
Examining data/higan-106/hiro/qt/widget/label.cpp
Examining data/higan-106/hiro/qt/widget/radio-button.hpp
Examining data/higan-106/hiro/qt/widget/hex-edit.cpp
Examining data/higan-106/hiro/qt/widget/line-edit.cpp
Examining data/higan-106/hiro/qt/widget/table-view-header.cpp
Examining data/higan-106/hiro/qt/widget/vertical-scroll-bar.cpp
Examining data/higan-106/hiro/qt/widget/tab-frame-item.cpp
Examining data/higan-106/hiro/qt/widget/radio-label.cpp
Examining data/higan-106/hiro/qt/widget/check-label.cpp
Examining data/higan-106/hiro/qt/widget/horizontal-scroll-bar.hpp
Examining data/higan-106/hiro/qt/widget/combo-button-item.cpp
Examining data/higan-106/hiro/qt/widget/vertical-slider.cpp
Examining data/higan-106/hiro/qt/widget/table-view-cell.hpp
Examining data/higan-106/hiro/qt/widget/frame.hpp
Examining data/higan-106/hiro/qt/widget/progress-bar.cpp
Examining data/higan-106/hiro/qt/widget/label.hpp
Examining data/higan-106/hiro/qt/widget/text-edit.cpp
Examining data/higan-106/hiro/qt/widget/table-view-column.cpp
Examining data/higan-106/hiro/qt/widget/check-button.cpp
Examining data/higan-106/hiro/qt/widget/viewport.cpp
Examining data/higan-106/hiro/qt/widget/table-view-item.cpp
Examining data/higan-106/hiro/qt/widget/widget.cpp
Examining data/higan-106/hiro/qt/widget/table-view.cpp
Examining data/higan-106/hiro/qt/widget/combo-button.cpp
Examining data/higan-106/hiro/qt/widget/hex-edit.hpp
Examining data/higan-106/hiro/qt/widget/line-edit.hpp
Examining data/higan-106/hiro/qt/widget/button.cpp
Examining data/higan-106/hiro/qt/widget/table-view-header.hpp
Examining data/higan-106/hiro/qt/widget/vertical-scroll-bar.hpp
Examining data/higan-106/hiro/qt/widget/tab-frame-item.hpp
Examining data/higan-106/hiro/qt/widget/radio-label.hpp
Examining data/higan-106/hiro/qt/widget/check-label.hpp
Examining data/higan-106/hiro/qt/widget/tab-frame.cpp
Examining data/higan-106/hiro/qt/widget/combo-button-item.hpp
Examining data/higan-106/hiro/qt/widget/vertical-slider.hpp
Examining data/higan-106/hiro/qt/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/qt/widget/canvas.cpp
Examining data/higan-106/hiro/qt/widget/progress-bar.hpp
Examining data/higan-106/hiro/qt/widget/text-edit.hpp
Examining data/higan-106/hiro/qt/widget/table-view-column.hpp
Examining data/higan-106/hiro/qt/widget/check-button.hpp
Examining data/higan-106/hiro/qt/widget/radio-button.cpp
Examining data/higan-106/hiro/qt/widget/viewport.hpp
Examining data/higan-106/hiro/qt/action/menu-item.cpp
Examining data/higan-106/hiro/qt/action/action.cpp
Examining data/higan-106/hiro/qt/action/menu-separator.cpp
Examining data/higan-106/hiro/qt/action/menu-radio-item.hpp
Examining data/higan-106/hiro/qt/action/menu.cpp
Examining data/higan-106/hiro/qt/action/menu-item.hpp
Examining data/higan-106/hiro/qt/action/action.hpp
Examining data/higan-106/hiro/qt/action/menu-check-item.cpp
Examining data/higan-106/hiro/qt/action/menu-separator.hpp
Examining data/higan-106/hiro/qt/action/menu.hpp
Examining data/higan-106/hiro/qt/action/menu-check-item.hpp
Examining data/higan-106/hiro/qt/action/menu-radio-item.cpp
Examining data/higan-106/hiro/qt/timer.cpp
Examining data/higan-106/hiro/qt/desktop.cpp
Examining data/higan-106/hiro/qt/window.hpp
Examining data/higan-106/hiro/qt/font.hpp
Examining data/higan-106/hiro/qt/menu-bar.hpp
Examining data/higan-106/hiro/qt/sizable.cpp
Examining data/higan-106/hiro/qt/layout.cpp
Examining data/higan-106/hiro/qt/mouse.hpp
Examining data/higan-106/hiro/qt/platform.cpp
Examining data/higan-106/hiro/qt/status-bar.hpp
Examining data/higan-106/hiro/qt/monitor.cpp
Examining data/higan-106/hiro/qt/object.cpp
Examining data/higan-106/hiro/qt/message-window.cpp
Examining data/higan-106/hiro/qt/timer.hpp
Examining data/higan-106/hiro/qt/settings.cpp
Examining data/higan-106/hiro/qt/desktop.hpp
Examining data/higan-106/hiro/qt/browser-window.cpp
Examining data/higan-106/hiro/qt/keyboard.cpp
Examining data/higan-106/hiro/qt/sizable.hpp
Examining data/higan-106/hiro/qt/qt.hpp
Examining data/higan-106/hiro/qt/layout.hpp
Examining data/higan-106/hiro/qt/group.cpp
Examining data/higan-106/hiro/qt/application.cpp
Examining data/higan-106/hiro/qt/popup-menu.cpp
Examining data/higan-106/hiro/qt/platform.hpp
Examining data/higan-106/hiro/qt/monitor.hpp
Examining data/higan-106/hiro/qt/object.hpp
Examining data/higan-106/hiro/qt/message-window.hpp
Examining data/higan-106/hiro/qt/settings.hpp
Examining data/higan-106/hiro/qt/utility.cpp
Examining data/higan-106/hiro/qt/window.cpp
Examining data/higan-106/hiro/qt/font.cpp
Examining data/higan-106/hiro/qt/menu-bar.cpp
Examining data/higan-106/hiro/qt/browser-window.hpp
Examining data/higan-106/hiro/qt/keyboard.hpp
Examining data/higan-106/hiro/qt/header.hpp
Examining data/higan-106/hiro/qt/group.hpp
Examining data/higan-106/hiro/qt/mouse.cpp
Examining data/higan-106/hiro/qt/application.hpp
Examining data/higan-106/hiro/qt/popup-menu.hpp
Examining data/higan-106/hiro/cocoa/widget/check-label.hpp
Examining data/higan-106/hiro/cocoa/widget/tab-frame.hpp
Examining data/higan-106/hiro/cocoa/widget/table-view-header.cpp
Examining data/higan-106/hiro/cocoa/widget/canvas.cpp
Examining data/higan-106/hiro/cocoa/widget/console.cpp
Examining data/higan-106/hiro/cocoa/widget/table-view.cpp
Examining data/higan-106/hiro/cocoa/widget/frame.hpp
Examining data/higan-106/hiro/cocoa/widget/combo-button-item.cpp
Examining data/higan-106/hiro/cocoa/widget/widget.hpp
Examining data/higan-106/hiro/cocoa/widget/table-view-cell.hpp
Examining data/higan-106/hiro/cocoa/widget/label.cpp
Examining data/higan-106/hiro/cocoa/widget/viewport.hpp
Examining data/higan-106/hiro/cocoa/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/cocoa/widget/progress-bar.hpp
Examining data/higan-106/hiro/cocoa/widget/button.hpp
Examining data/higan-106/hiro/cocoa/widget/hex-edit.hpp
Examining data/higan-106/hiro/cocoa/widget/line-edit.cpp
Examining data/higan-106/hiro/cocoa/widget/vertical-scroll-bar.hpp
Examining data/higan-106/hiro/cocoa/widget/check-button.hpp
Examining data/higan-106/hiro/cocoa/widget/table-view-column.hpp
Examining data/higan-106/hiro/cocoa/widget/radio-button.cpp
Examining data/higan-106/hiro/cocoa/widget/tab-frame-item.cpp
Examining data/higan-106/hiro/cocoa/widget/radio-label.hpp
Examining data/higan-106/hiro/cocoa/widget/combo-button.cpp
Examining data/higan-106/hiro/cocoa/widget/table-view-item.cpp
Examining data/higan-106/hiro/cocoa/widget/table-view-header.hpp
Examining data/higan-106/hiro/cocoa/widget/canvas.hpp
Examining data/higan-106/hiro/cocoa/widget/console.hpp
Examining data/higan-106/hiro/cocoa/widget/table-view.hpp
Examining data/higan-106/hiro/cocoa/widget/text-edit.cpp
Examining data/higan-106/hiro/cocoa/widget/combo-button-item.hpp
Examining data/higan-106/hiro/cocoa/widget/horizontal-scroll-bar.cpp
Examining data/higan-106/hiro/cocoa/widget/vertical-slider.cpp
Examining data/higan-106/hiro/cocoa/widget/label.hpp
Examining data/higan-106/hiro/cocoa/widget/horizontal-slider.hpp
Examining data/higan-106/hiro/cocoa/widget/line-edit.hpp
Examining data/higan-106/hiro/cocoa/widget/radio-button.hpp
Examining data/higan-106/hiro/cocoa/widget/tab-frame-item.hpp
Examining data/higan-106/hiro/cocoa/widget/combo-button.hpp
Examining data/higan-106/hiro/cocoa/widget/table-view-item.hpp
Examining data/higan-106/hiro/cocoa/widget/check-label.cpp
Examining data/higan-106/hiro/cocoa/widget/tab-frame.cpp
Examining data/higan-106/hiro/cocoa/widget/text-edit.hpp
Examining data/higan-106/hiro/cocoa/widget/horizontal-scroll-bar.hpp
Examining data/higan-106/hiro/cocoa/widget/frame.cpp
Examining data/higan-106/hiro/cocoa/widget/vertical-slider.hpp
Examining data/higan-106/hiro/cocoa/widget/widget.cpp
Examining data/higan-106/hiro/cocoa/widget/table-view-cell.cpp
Examining data/higan-106/hiro/cocoa/widget/viewport.cpp
Examining data/higan-106/hiro/cocoa/widget/progress-bar.cpp
Examining data/higan-106/hiro/cocoa/widget/button.cpp
Examining data/higan-106/hiro/cocoa/widget/hex-edit.cpp
Examining data/higan-106/hiro/cocoa/widget/vertical-scroll-bar.cpp
Examining data/higan-106/hiro/cocoa/widget/check-button.cpp
Examining data/higan-106/hiro/cocoa/widget/table-view-column.cpp
Examining data/higan-106/hiro/cocoa/widget/radio-label.cpp
Examining data/higan-106/hiro/cocoa/utility.cpp
Examining data/higan-106/hiro/cocoa/timer.hpp
Examining data/higan-106/hiro/cocoa/popup-menu.hpp
Examining data/higan-106/hiro/cocoa/status-bar.cpp
Examining data/higan-106/hiro/cocoa/sizable.hpp
Examining data/higan-106/hiro/cocoa/action/menu-check-item.cpp
Examining data/higan-106/hiro/cocoa/action/action.cpp
Examining data/higan-106/hiro/cocoa/action/menu-item.hpp
Examining data/higan-106/hiro/cocoa/action/menu-separator.hpp
Examining data/higan-106/hiro/cocoa/action/menu-check-item.hpp
Examining data/higan-106/hiro/cocoa/action/menu.cpp
Examining data/higan-106/hiro/cocoa/action/menu-radio-item.cpp
Examining data/higan-106/hiro/cocoa/action/action.hpp
Examining data/higan-106/hiro/cocoa/action/menu.hpp
Examining data/higan-106/hiro/cocoa/action/menu-radio-item.hpp
Examining data/higan-106/hiro/cocoa/action/menu-item.cpp
Examining data/higan-106/hiro/cocoa/action/menu-separator.cpp
Examining data/higan-106/hiro/cocoa/platform.cpp
Examining data/higan-106/hiro/cocoa/layout.cpp
Examining data/higan-106/hiro/cocoa/group.cpp
Examining data/higan-106/hiro/cocoa/font.hpp
Examining data/higan-106/hiro/cocoa/desktop.cpp
Examining data/higan-106/hiro/cocoa/keyboard.cpp
Examining data/higan-106/hiro/cocoa/object.cpp
Examining data/higan-106/hiro/cocoa/status-bar.hpp
Examining data/higan-106/hiro/cocoa/message-window.cpp
Examining data/higan-106/hiro/cocoa/window.cpp
Examining data/higan-106/hiro/cocoa/platform.hpp
Examining data/higan-106/hiro/cocoa/application.cpp
Examining data/higan-106/hiro/cocoa/header.hpp
Examining data/higan-106/hiro/cocoa/browser-window.cpp
Examining data/higan-106/hiro/cocoa/layout.hpp
Examining data/higan-106/hiro/cocoa/mouse.cpp
Examining data/higan-106/hiro/cocoa/group.hpp
Examining data/higan-106/hiro/cocoa/monitor.cpp
Examining data/higan-106/hiro/cocoa/menu-bar.cpp
Examining data/higan-106/hiro/cocoa/desktop.hpp
Examining data/higan-106/hiro/cocoa/keyboard.hpp
Examining data/higan-106/hiro/cocoa/object.hpp
Examining data/higan-106/hiro/cocoa/timer.cpp
Examining data/higan-106/hiro/cocoa/popup-menu.cpp
Examining data/higan-106/hiro/cocoa/sizable.cpp
Examining data/higan-106/hiro/cocoa/message-window.hpp
Examining data/higan-106/hiro/cocoa/window.hpp
Examining data/higan-106/hiro/cocoa/application.hpp
Examining data/higan-106/hiro/cocoa/browser-window.hpp
Examining data/higan-106/hiro/cocoa/mouse.hpp
Examining data/higan-106/hiro/cocoa/monitor.hpp
Examining data/higan-106/hiro/cocoa/font.cpp
Examining data/higan-106/hiro/cocoa/menu-bar.hpp
Examining data/higan-106/hiro/reference/widget/vertical-slider.hpp
Examining data/higan-106/hiro/reference/widget/horizontal-slider.hpp
Examining data/higan-106/hiro/reference/widget/viewport.hpp
Examining data/higan-106/hiro/reference/widget/hex-edit.hpp
Examining data/higan-106/hiro/reference/widget/tab-frame.cpp
Examining data/higan-106/hiro/reference/widget/console.hpp
Examining data/higan-106/hiro/reference/widget/text-edit.hpp
Examining data/higan-106/hiro/reference/widget/progress-bar.hpp
Examining data/higan-106/hiro/reference/widget/widget.cpp
Examining data/higan-106/hiro/reference/widget/check-button.hpp
Examining data/higan-106/hiro/reference/widget/radio-label.cpp
Examining data/higan-106/hiro/reference/widget/vertical-scroller.cpp
Examining data/higan-106/hiro/reference/widget/radio-button.cpp
Examining data/higan-106/hiro/reference/widget/frame.hpp
Examining data/higan-106/hiro/reference/widget/button.cpp
Examining data/higan-106/hiro/reference/widget/check-label.cpp
Examining data/higan-106/hiro/reference/widget/combo-button.cpp
Examining data/higan-106/hiro/reference/widget/label.cpp
Examining data/higan-106/hiro/reference/widget/layout.hpp
Examining data/higan-106/hiro/reference/widget/tab-frame.hpp
Examining data/higan-106/hiro/reference/widget/sizable.hpp
Examining data/higan-106/hiro/reference/widget/canvas.cpp
Examining data/higan-106/hiro/reference/widget/list-view.cpp
Examining data/higan-106/hiro/reference/widget/widget.hpp
Examining data/higan-106/hiro/reference/widget/radio-label.hpp
Examining data/higan-106/hiro/reference/widget/vertical-scroller.hpp
Examining data/higan-106/hiro/reference/widget/radio-button.hpp
Examining data/higan-106/hiro/reference/widget/horizontal-scroller.cpp
Examining data/higan-106/hiro/reference/widget/button.hpp
Examining data/higan-106/hiro/reference/widget/check-label.hpp
Examining data/higan-106/hiro/reference/widget/line-edit.cpp
Examining data/higan-106/hiro/reference/widget/combo-button.hpp
Examining data/higan-106/hiro/reference/widget/label.hpp
Examining data/higan-106/hiro/reference/widget/vertical-slider.cpp
Examining data/higan-106/hiro/reference/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/reference/widget/viewport.cpp
Examining data/higan-106/hiro/reference/widget/hex-edit.cpp
Examining data/higan-106/hiro/reference/widget/console.cpp
Examining data/higan-106/hiro/reference/widget/canvas.hpp
Examining data/higan-106/hiro/reference/widget/text-edit.cpp
Examining data/higan-106/hiro/reference/widget/list-view.hpp
Examining data/higan-106/hiro/reference/widget/progress-bar.cpp
Examining data/higan-106/hiro/reference/widget/check-button.cpp
Examining data/higan-106/hiro/reference/widget/horizontal-scroller.hpp
Examining data/higan-106/hiro/reference/widget/line-edit.hpp
Examining data/higan-106/hiro/reference/widget/frame.cpp
Examining data/higan-106/hiro/reference/platform.cpp
Examining data/higan-106/hiro/reference/action/item.hpp
Examining data/higan-106/hiro/reference/action/check-item.hpp
Examining data/higan-106/hiro/reference/action/radio-item.hpp
Examining data/higan-106/hiro/reference/action/separator.hpp
Examining data/higan-106/hiro/reference/action/menu.cpp
Examining data/higan-106/hiro/reference/action/action.cpp
Examining data/higan-106/hiro/reference/action/item.cpp
Examining data/higan-106/hiro/reference/action/check-item.cpp
Examining data/higan-106/hiro/reference/action/radio-item.cpp
Examining data/higan-106/hiro/reference/action/separator.cpp
Examining data/higan-106/hiro/reference/action/menu.hpp
Examining data/higan-106/hiro/reference/action/action.hpp
Examining data/higan-106/hiro/reference/message-window.cpp
Examining data/higan-106/hiro/reference/browser-window.cpp
Examining data/higan-106/hiro/reference/monitor.hpp
Examining data/higan-106/hiro/reference/mouse.cpp
Examining data/higan-106/hiro/reference/application.hpp
Examining data/higan-106/hiro/reference/font.cpp
Examining data/higan-106/hiro/reference/platform.hpp
Examining data/higan-106/hiro/reference/message-window.hpp
Examining data/higan-106/hiro/reference/timer.cpp
Examining data/higan-106/hiro/reference/object.cpp
Examining data/higan-106/hiro/reference/popup-menu.cpp
Examining data/higan-106/hiro/reference/browser-window.hpp
Examining data/higan-106/hiro/reference/window.cpp
Examining data/higan-106/hiro/reference/keyboard.cpp
Examining data/higan-106/hiro/reference/header.hpp
Examining data/higan-106/hiro/reference/mouse.hpp
Examining data/higan-106/hiro/reference/font.hpp
Examining data/higan-106/hiro/reference/desktop.cpp
Examining data/higan-106/hiro/reference/timer.hpp
Examining data/higan-106/hiro/reference/object.hpp
Examining data/higan-106/hiro/reference/popup-menu.hpp
Examining data/higan-106/hiro/reference/window.hpp
Examining data/higan-106/hiro/reference/keyboard.hpp
Examining data/higan-106/hiro/reference/monitor.cpp
Examining data/higan-106/hiro/reference/application.cpp
Examining data/higan-106/hiro/reference/desktop.hpp
Examining data/higan-106/hiro/core/core.cpp
Examining data/higan-106/hiro/core/widget/source-edit.cpp
Examining data/higan-106/hiro/core/widget/line-edit.cpp
Examining data/higan-106/hiro/core/widget/table-view-cell.cpp
Examining data/higan-106/hiro/core/widget/radio-button.cpp
Examining data/higan-106/hiro/core/widget/combo-button.cpp
Examining data/higan-106/hiro/core/widget/tree-view-item.cpp
Examining data/higan-106/hiro/core/widget/icon-view-item.cpp
Examining data/higan-106/hiro/core/widget/tab-frame-item.cpp
Examining data/higan-106/hiro/core/widget/combo-edit-item.cpp
Examining data/higan-106/hiro/core/widget/label.cpp
Examining data/higan-106/hiro/core/widget/table-view.cpp
Examining data/higan-106/hiro/core/widget/icon-view.cpp
Examining data/higan-106/hiro/core/widget/text-edit.cpp
Examining data/higan-106/hiro/core/widget/console.cpp
Examining data/higan-106/hiro/core/widget/tree-view.cpp
Examining data/higan-106/hiro/core/widget/viewport.cpp
Examining data/higan-106/hiro/core/widget/combo-edit.cpp
Examining data/higan-106/hiro/core/widget/hex-edit.cpp
Examining data/higan-106/hiro/core/widget/tab-frame.cpp
Examining data/higan-106/hiro/core/widget/table-view-item.cpp
Examining data/higan-106/hiro/core/widget/widget.cpp
Examining data/higan-106/hiro/core/widget/vertical-scroll-bar.cpp
Examining data/higan-106/hiro/core/widget/table-view-column.cpp
Examining data/higan-106/hiro/core/widget/button.cpp
Examining data/higan-106/hiro/core/widget/table-view-header.cpp
Examining data/higan-106/hiro/core/widget/vertical-slider.cpp
Examining data/higan-106/hiro/core/widget/progress-bar.cpp
Examining data/higan-106/hiro/core/widget/horizontal-scroll-bar.cpp
Examining data/higan-106/hiro/core/widget/check-button.cpp
Examining data/higan-106/hiro/core/widget/combo-button-item.cpp
Examining data/higan-106/hiro/core/widget/canvas.cpp
Examining data/higan-106/hiro/core/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/core/widget/radio-label.cpp
Examining data/higan-106/hiro/core/widget/frame.cpp
Examining data/higan-106/hiro/core/widget/check-label.cpp
Examining data/higan-106/hiro/core/object.cpp
Examining data/higan-106/hiro/core/menu-bar.cpp
Examining data/higan-106/hiro/core/action/menu-radio-item.cpp
Examining data/higan-106/hiro/core/action/menu.cpp
Examining data/higan-106/hiro/core/action/menu-check-item.cpp
Examining data/higan-106/hiro/core/action/menu-item.cpp
Examining data/higan-106/hiro/core/action/menu-separator.cpp
Examining data/higan-106/hiro/core/action/action.cpp
Examining data/higan-106/hiro/core/timer.cpp
Examining data/higan-106/hiro/core/status-bar.cpp
Examining data/higan-106/hiro/core/window.cpp
Examining data/higan-106/hiro/core/geometry.cpp
Examining data/higan-106/hiro/core/desktop.cpp
Examining data/higan-106/hiro/core/group.cpp
Examining data/higan-106/hiro/core/color.cpp
Examining data/higan-106/hiro/core/sizable.cpp
Examining data/higan-106/hiro/core/core.hpp
Examining data/higan-106/hiro/core/shared.hpp
Examining data/higan-106/hiro/core/alignment.cpp
Examining data/higan-106/hiro/core/property.cpp
Examining data/higan-106/hiro/core/monitor.cpp
Examining data/higan-106/hiro/core/application.cpp
Examining data/higan-106/hiro/core/font.cpp
Examining data/higan-106/hiro/core/hotkey.cpp
Examining data/higan-106/hiro/core/layout.cpp
Examining data/higan-106/hiro/core/message-window.cpp
Examining data/higan-106/hiro/core/gradient.cpp
Examining data/higan-106/hiro/core/popup-menu.cpp
Examining data/higan-106/hiro/core/browser-window.cpp
Examining data/higan-106/hiro/core/keyboard.cpp
Examining data/higan-106/hiro/core/mouse.cpp
Examining data/higan-106/hiro/core/cursor.cpp
Examining data/higan-106/hiro/core/size.cpp
Examining data/higan-106/hiro/core/position.cpp
Examining data/higan-106/hiro/windows/window.cpp
Examining data/higan-106/hiro/windows/widget/text-edit.hpp
Examining data/higan-106/hiro/windows/widget/combo-button-item.cpp
Examining data/higan-106/hiro/windows/widget/table-view.hpp
Examining data/higan-106/hiro/windows/widget/check-button.hpp
Examining data/higan-106/hiro/windows/widget/table-view-cell.cpp
Examining data/higan-106/hiro/windows/widget/table-view-column.cpp
Examining data/higan-106/hiro/windows/widget/horizontal-scroll-bar.cpp
Examining data/higan-106/hiro/windows/widget/radio-button.hpp
Examining data/higan-106/hiro/windows/widget/radio-label.cpp
Examining data/higan-106/hiro/windows/widget/combo-button.hpp
Examining data/higan-106/hiro/windows/widget/check-label.cpp
Examining data/higan-106/hiro/windows/widget/tab-frame.hpp
Examining data/higan-106/hiro/windows/widget/vertical-scroll-bar.cpp
Examining data/higan-106/hiro/windows/widget/table-view-header.cpp
Examining data/higan-106/hiro/windows/widget/widget.cpp
Examining data/higan-106/hiro/windows/widget/button.cpp
Examining data/higan-106/hiro/windows/widget/viewport.cpp
Examining data/higan-106/hiro/windows/widget/combo-button-item.hpp
Examining data/higan-106/hiro/windows/widget/hex-edit.cpp
Examining data/higan-106/hiro/windows/widget/horizontal-slider.cpp
Examining data/higan-106/hiro/windows/widget/progress-bar.cpp
Examining data/higan-106/hiro/windows/widget/vertical-slider.cpp
Examining data/higan-106/hiro/windows/widget/line-edit.cpp
Examining data/higan-106/hiro/windows/widget/table-view-cell.hpp
Examining data/higan-106/hiro/windows/widget/horizontal-scroll-bar.hpp
Examining data/higan-106/hiro/windows/widget/table-view-column.hpp
Examining data/higan-106/hiro/windows/widget/radio-label.hpp
Examining data/higan-106/hiro/windows/widget/canvas.cpp
Examining data/higan-106/hiro/windows/widget/check-label.hpp
Examining data/higan-106/hiro/windows/widget/frame.cpp
Examining data/higan-106/hiro/windows/widget/tab-frame-item.cpp
Examining data/higan-106/hiro/windows/widget/vertical-scroll-bar.hpp
Examining data/higan-106/hiro/windows/widget/label.cpp
Examining data/higan-106/hiro/windows/widget/table-view-header.hpp
Examining data/higan-106/hiro/windows/widget/widget.hpp
Examining data/higan-106/hiro/windows/widget/table-view-item.cpp
Examining data/higan-106/hiro/windows/widget/button.hpp
Examining data/higan-106/hiro/windows/widget/viewport.hpp
Examining data/higan-106/hiro/windows/widget/text-edit.cpp
Examining data/higan-106/hiro/windows/widget/hex-edit.hpp
Examining data/higan-106/hiro/windows/widget/horizontal-slider.hpp
Examining data/higan-106/hiro/windows/widget/progress-bar.hpp
Examining data/higan-106/hiro/windows/widget/vertical-slider.hpp
Examining data/higan-106/hiro/windows/widget/table-view.cpp
Examining data/higan-106/hiro/windows/widget/line-edit.hpp
Examining data/higan-106/hiro/windows/widget/check-button.cpp
Examining data/higan-106/hiro/windows/widget/radio-button.cpp
Examining data/higan-106/hiro/windows/widget/canvas.hpp
Examining data/higan-106/hiro/windows/widget/combo-button.cpp
Examining data/higan-106/hiro/windows/widget/frame.hpp
Examining data/higan-106/hiro/windows/widget/tab-frame.cpp
Examining data/higan-106/hiro/windows/widget/tab-frame-item.hpp
Examining data/higan-106/hiro/windows/widget/label.hpp
Examining data/higan-106/hiro/windows/widget/table-view-item.hpp
Examining data/higan-106/hiro/windows/keyboard.cpp
Examining data/higan-106/hiro/windows/popup-menu.cpp
Examining data/higan-106/hiro/windows/browser-window.hpp
Examining data/higan-106/hiro/windows/action/menu-radio-item.hpp
Examining data/higan-106/hiro/windows/action/menu-item.hpp
Examining data/higan-106/hiro/windows/action/menu.hpp
Examining data/higan-106/hiro/windows/action/menu-separator.cpp
Examining data/higan-106/hiro/windows/action/menu-check-item.cpp
Examining data/higan-106/hiro/windows/action/menu-separator.hpp
Examining data/higan-106/hiro/windows/action/action.cpp
Examining data/higan-106/hiro/windows/action/menu-check-item.hpp
Examining data/higan-106/hiro/windows/action/menu-radio-item.cpp
Examining data/higan-106/hiro/windows/action/menu-item.cpp
Examining data/higan-106/hiro/windows/action/menu.cpp
Examining data/higan-106/hiro/windows/action/action.hpp
Examining data/higan-106/hiro/windows/layout.hpp
Examining data/higan-106/hiro/windows/platform.hpp
Examining data/higan-106/hiro/windows/monitor.cpp
Examining data/higan-106/hiro/windows/desktop.hpp
Examining data/higan-106/hiro/windows/object.hpp
Examining data/higan-106/hiro/windows/application.hpp
Examining data/higan-106/hiro/windows/group.hpp
Examining data/higan-106/hiro/windows/mouse.cpp
Examining data/higan-106/hiro/windows/menu-bar.cpp
Examining data/higan-106/hiro/windows/window.hpp
Examining data/higan-106/hiro/windows/sizable.cpp
Examining data/higan-106/hiro/windows/keyboard.hpp
Examining data/higan-106/hiro/windows/header.hpp
Examining data/higan-106/hiro/windows/popup-menu.hpp
Examining data/higan-106/hiro/windows/status-bar.cpp
Examining data/higan-106/hiro/windows/timer.cpp
Examining data/higan-106/hiro/windows/monitor.hpp
Examining data/higan-106/hiro/windows/font.cpp
Examining data/higan-106/hiro/windows/utility.cpp
Examining data/higan-106/hiro/windows/mouse.hpp
Examining data/higan-106/hiro/windows/message-window.cpp
Examining data/higan-106/hiro/windows/menu-bar.hpp
Examining data/higan-106/hiro/windows/sizable.hpp
Examining data/higan-106/hiro/windows/browser-window.cpp
Examining data/higan-106/hiro/windows/status-bar.hpp
Examining data/higan-106/hiro/windows/timer.hpp
Examining data/higan-106/hiro/windows/layout.cpp
Examining data/higan-106/hiro/windows/platform.cpp
Examining data/higan-106/hiro/windows/font.hpp
Examining data/higan-106/hiro/windows/desktop.cpp
Examining data/higan-106/hiro/windows/object.cpp
Examining data/higan-106/hiro/windows/application.cpp
Examining data/higan-106/hiro/windows/group.cpp
Examining data/higan-106/hiro/windows/message-window.hpp
Examining data/higan-106/hiro/extension/shared.hpp
Examining data/higan-106/hiro/extension/horizontal-layout.hpp
Examining data/higan-106/hiro/extension/extension.cpp
Examining data/higan-106/hiro/extension/list-view.cpp
Examining data/higan-106/hiro/extension/message-dialog.cpp
Examining data/higan-106/hiro/extension/browser-dialog.cpp
Examining data/higan-106/hiro/extension/vertical-layout.cpp
Examining data/higan-106/hiro/extension/fixed-layout.cpp
Examining data/higan-106/hiro/extension/list-view-item.cpp
Examining data/higan-106/hiro/extension/extension.hpp
Examining data/higan-106/hiro/extension/list-view.hpp
Examining data/higan-106/hiro/extension/message-dialog.hpp
Examining data/higan-106/hiro/extension/browser-dialog.hpp
Examining data/higan-106/hiro/extension/vertical-layout.hpp
Examining data/higan-106/hiro/extension/fixed-layout.hpp
Examining data/higan-106/hiro/extension/list-view-item.hpp
Examining data/higan-106/hiro/extension/horizontal-layout.cpp
Examining data/higan-106/hiro/hiro.hpp
Examining data/higan-106/hiro/platform/xorg/keyboard.hpp
Examining data/higan-106/hiro/platform/windows/keyboard.hpp
Examining data/higan-106/hiro/hiro.cpp
Examining data/higan-106/hiro/components.hpp
Examining data/higan-106/higan/fc/cartridge/serialization.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-fxrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc7.cpp
Examining data/higan-106/higan/fc/cartridge/board/board.hpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc2.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-pxrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-exrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-bnrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-txrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/board.cpp
Examining data/higan-106/higan/fc/cartridge/board/bandai-fcg.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-sxrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-axrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-nrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc3.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-hkrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc6.cpp
Examining data/higan-106/higan/fc/cartridge/board/sunsoft-5b.cpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc1.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-uxrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-cnrom.cpp
Examining data/higan-106/higan/fc/cartridge/board/konami-vrc4.cpp
Examining data/higan-106/higan/fc/cartridge/board/nes-gxrom.cpp
Examining data/higan-106/higan/fc/cartridge/chip/mmc1.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc6.cpp
Examining data/higan-106/higan/fc/cartridge/chip/mmc6.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc1.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc4.cpp
Examining data/higan-106/higan/fc/cartridge/chip/chip.cpp
Examining data/higan-106/higan/fc/cartridge/chip/mmc5.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc7.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc2.cpp
Examining data/higan-106/higan/fc/cartridge/chip/chip.hpp
Examining data/higan-106/higan/fc/cartridge/chip/mmc3.cpp
Examining data/higan-106/higan/fc/cartridge/chip/vrc3.cpp
Examining data/higan-106/higan/fc/cartridge/cartridge.cpp
Examining data/higan-106/higan/fc/cartridge/cartridge.hpp
Examining data/higan-106/higan/fc/system/video.cpp
Examining data/higan-106/higan/fc/system/system.cpp
Examining data/higan-106/higan/fc/system/serialization.cpp
Examining data/higan-106/higan/fc/system/system.hpp
Examining data/higan-106/higan/fc/controller/controller.cpp
Examining data/higan-106/higan/fc/controller/gamepad/gamepad.cpp
Examining data/higan-106/higan/fc/controller/gamepad/gamepad.hpp
Examining data/higan-106/higan/fc/controller/controller.hpp
Examining data/higan-106/higan/fc/cpu/memory.cpp
Examining data/higan-106/higan/fc/cpu/serialization.cpp
Examining data/higan-106/higan/fc/cpu/cpu.hpp
Examining data/higan-106/higan/fc/cpu/timing.cpp
Examining data/higan-106/higan/fc/cpu/cpu.cpp
Examining data/higan-106/higan/fc/apu/noise.cpp
Examining data/higan-106/higan/fc/apu/serialization.cpp
Examining data/higan-106/higan/fc/apu/envelope.cpp
Examining data/higan-106/higan/fc/apu/apu.cpp
Examining data/higan-106/higan/fc/apu/dmc.cpp
Examining data/higan-106/higan/fc/apu/sweep.cpp
Examining data/higan-106/higan/fc/apu/apu.hpp
Examining data/higan-106/higan/fc/apu/pulse.cpp
Examining data/higan-106/higan/fc/apu/triangle.cpp
Examining data/higan-106/higan/fc/interface/interface.cpp
Examining data/higan-106/higan/fc/interface/interface.hpp
Examining data/higan-106/higan/fc/ppu/ppu.hpp
Examining data/higan-106/higan/fc/ppu/serialization.cpp
Examining data/higan-106/higan/fc/ppu/render.cpp
Examining data/higan-106/higan/fc/ppu/memory.cpp
Examining data/higan-106/higan/fc/ppu/ppu.cpp
Examining data/higan-106/higan/fc/memory/memory.hpp
Examining data/higan-106/higan/fc/memory/memory.cpp
Examining data/higan-106/higan/fc/fc.hpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/bus.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/timing.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/superfx.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/io.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/core.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/superfx/superfx.hpp
Examining data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/hitachidsp/hitachidsp.hpp
Examining data/higan-106/higan/sfc/coprocessor/hitachidsp/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/hitachidsp/hitachidsp.cpp
Examining data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp
Examining data/higan-106/higan/sfc/coprocessor/sdd1/decompressor.hpp
Examining data/higan-106/higan/sfc/coprocessor/sdd1/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.hpp
Examining data/higan-106/higan/sfc/coprocessor/sdd1/decompressor.cpp
Examining data/higan-106/higan/sfc/coprocessor/armdsp/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/armdsp/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/armdsp/registers.hpp
Examining data/higan-106/higan/sfc/coprocessor/armdsp/armdsp.cpp
Examining data/higan-106/higan/sfc/coprocessor/armdsp/armdsp.hpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.hpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/dcu.cpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/data.cpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/decompressor.cpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.cpp
Examining data/higan-106/higan/sfc/coprocessor/spc7110/alu.cpp
Examining data/higan-106/higan/sfc/coprocessor/epsonrtc/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/epsonrtc/epsonrtc.cpp
Examining data/higan-106/higan/sfc/coprocessor/epsonrtc/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/epsonrtc/epsonrtc.hpp
Examining data/higan-106/higan/sfc/coprocessor/epsonrtc/time.cpp
Examining data/higan-106/higan/sfc/coprocessor/mcc/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/mcc/mcc.cpp
Examining data/higan-106/higan/sfc/coprocessor/mcc/mcc.hpp
Examining data/higan-106/higan/sfc/coprocessor/nss/nss.cpp
Examining data/higan-106/higan/sfc/coprocessor/nss/nss.hpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/io.cpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/platform.cpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/icd2.hpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/interface.cpp
Examining data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp
Examining data/higan-106/higan/sfc/coprocessor/obc1/obc1.cpp
Examining data/higan-106/higan/sfc/coprocessor/obc1/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/obc1/obc1.hpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/bus.cpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/dma.cpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/sa1.cpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/sa1.hpp
Examining data/higan-106/higan/sfc/coprocessor/sa1/io.cpp
Examining data/higan-106/higan/sfc/coprocessor/msu1/msu1.cpp
Examining data/higan-106/higan/sfc/coprocessor/msu1/msu1.hpp
Examining data/higan-106/higan/sfc/coprocessor/msu1/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/necdsp/necdsp.cpp
Examining data/higan-106/higan/sfc/coprocessor/necdsp/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/necdsp/necdsp.hpp
Examining data/higan-106/higan/sfc/coprocessor/sharprtc/sharprtc.hpp
Examining data/higan-106/higan/sfc/coprocessor/sharprtc/serialization.cpp
Examining data/higan-106/higan/sfc/coprocessor/sharprtc/memory.cpp
Examining data/higan-106/higan/sfc/coprocessor/sharprtc/sharprtc.cpp
Examining data/higan-106/higan/sfc/coprocessor/sharprtc/time.cpp
Examining data/higan-106/higan/sfc/coprocessor/coprocessor.hpp
Examining data/higan-106/higan/sfc/coprocessor/event/event.cpp
Examining data/higan-106/higan/sfc/coprocessor/event/event.hpp
Examining data/higan-106/higan/sfc/expansion/satellaview/satellaview.hpp
Examining data/higan-106/higan/sfc/expansion/satellaview/satellaview.cpp
Examining data/higan-106/higan/sfc/expansion/21fx/21fx.hpp
Examining data/higan-106/higan/sfc/expansion/21fx/21fx.cpp
Examining data/higan-106/higan/sfc/expansion/expansion.cpp
Examining data/higan-106/higan/sfc/expansion/expansion.hpp
Examining data/higan-106/higan/sfc/ppu/ppu.hpp
Examining data/higan-106/higan/sfc/ppu/object/oam.cpp
Examining data/higan-106/higan/sfc/ppu/object/object.cpp
Examining data/higan-106/higan/sfc/ppu/object/object.hpp
Examining data/higan-106/higan/sfc/ppu/window/window.cpp
Examining data/higan-106/higan/sfc/ppu/window/window.hpp
Examining data/higan-106/higan/sfc/ppu/serialization.cpp
Examining data/higan-106/higan/sfc/ppu/background/background.cpp
Examining data/higan-106/higan/sfc/ppu/background/background.hpp
Examining data/higan-106/higan/sfc/ppu/background/mode7.cpp
Examining data/higan-106/higan/sfc/ppu/screen/screen.cpp
Examining data/higan-106/higan/sfc/ppu/screen/screen.hpp
Examining data/higan-106/higan/sfc/ppu/counter/counter.hpp
Examining data/higan-106/higan/sfc/ppu/counter/counter-inline.hpp
Examining data/higan-106/higan/sfc/ppu/ppu.cpp
Examining data/higan-106/higan/sfc/ppu/io.cpp
Examining data/higan-106/higan/sfc/controller/super-scope/super-scope.cpp
Examining data/higan-106/higan/sfc/controller/super-scope/super-scope.hpp
Examining data/higan-106/higan/sfc/controller/justifier/justifier.cpp
Examining data/higan-106/higan/sfc/controller/justifier/justifier.hpp
Examining data/higan-106/higan/sfc/controller/mouse/mouse.cpp
Examining data/higan-106/higan/sfc/controller/mouse/mouse.hpp
Examining data/higan-106/higan/sfc/controller/super-multitap/super-multitap.hpp
Examining data/higan-106/higan/sfc/controller/super-multitap/super-multitap.cpp
Examining data/higan-106/higan/sfc/controller/controller.hpp
Examining data/higan-106/higan/sfc/controller/gamepad/gamepad.cpp
Examining data/higan-106/higan/sfc/controller/gamepad/gamepad.hpp
Examining data/higan-106/higan/sfc/controller/controller.cpp
Examining data/higan-106/higan/sfc/dsp/dsp.cpp
Examining data/higan-106/higan/sfc/dsp/gaussian.cpp
Examining data/higan-106/higan/sfc/dsp/brr.cpp
Examining data/higan-106/higan/sfc/dsp/dsp.hpp
Examining data/higan-106/higan/sfc/dsp/voice.cpp
Examining data/higan-106/higan/sfc/dsp/serialization.cpp
Examining data/higan-106/higan/sfc/dsp/envelope.cpp
Examining data/higan-106/higan/sfc/dsp/counter.cpp
Examining data/higan-106/higan/sfc/dsp/echo.cpp
Examining data/higan-106/higan/sfc/dsp/misc.cpp
Examining data/higan-106/higan/sfc/interface/interface.hpp
Examining data/higan-106/higan/sfc/interface/interface.cpp
Examining data/higan-106/higan/sfc/system/system.cpp
Examining data/higan-106/higan/sfc/system/video.cpp
Examining data/higan-106/higan/sfc/system/system.hpp
Examining data/higan-106/higan/sfc/system/serialization.cpp
Examining data/higan-106/higan/sfc/slot/bsmemory/bsmemory.cpp
Examining data/higan-106/higan/sfc/slot/bsmemory/bsmemory.hpp
Examining data/higan-106/higan/sfc/slot/sufamiturbo/sufamiturbo.cpp
Examining data/higan-106/higan/sfc/slot/sufamiturbo/serialization.cpp
Examining data/higan-106/higan/sfc/slot/sufamiturbo/sufamiturbo.hpp
Examining data/higan-106/higan/sfc/slot/slot.hpp
Examining data/higan-106/higan/sfc/smp/timing.cpp
Examining data/higan-106/higan/sfc/smp/smp.cpp
Examining data/higan-106/higan/sfc/smp/memory.cpp
Examining data/higan-106/higan/sfc/smp/smp.hpp
Examining data/higan-106/higan/sfc/smp/serialization.cpp
Examining data/higan-106/higan/sfc/cartridge/cartridge.cpp
Examining data/higan-106/higan/sfc/cartridge/serialization.cpp
Examining data/higan-106/higan/sfc/cartridge/load.cpp
Examining data/higan-106/higan/sfc/cartridge/cartridge.hpp
Examining data/higan-106/higan/sfc/cartridge/save.cpp
Examining data/higan-106/higan/sfc/sfc.hpp
Examining data/higan-106/higan/sfc/cpu/dma.cpp
Examining data/higan-106/higan/sfc/cpu/io.cpp
Examining data/higan-106/higan/sfc/cpu/irq.cpp
Examining data/higan-106/higan/sfc/cpu/timing.cpp
Examining data/higan-106/higan/sfc/cpu/cpu.cpp
Examining data/higan-106/higan/sfc/cpu/serialization.cpp
Examining data/higan-106/higan/sfc/cpu/cpu.hpp
Examining data/higan-106/higan/sfc/cpu/memory.cpp
Examining data/higan-106/higan/sfc/memory/memory.cpp
Examining data/higan-106/higan/sfc/memory/memory-inline.hpp
Examining data/higan-106/higan/sfc/memory/memory.hpp
Examining data/higan-106/higan/gba/system/system.cpp
Examining data/higan-106/higan/gba/system/system.hpp
Examining data/higan-106/higan/gba/system/video.cpp
Examining data/higan-106/higan/gba/system/bios.cpp
Examining data/higan-106/higan/gba/system/serialization.cpp
Examining data/higan-106/higan/gba/ppu/ppu.cpp
Examining data/higan-106/higan/gba/ppu/ppu.hpp
Examining data/higan-106/higan/gba/ppu/background.cpp
Examining data/higan-106/higan/gba/ppu/memory.cpp
Examining data/higan-106/higan/gba/ppu/screen.cpp
Examining data/higan-106/higan/gba/ppu/serialization.cpp
Examining data/higan-106/higan/gba/ppu/object.cpp
Examining data/higan-106/higan/gba/ppu/window.cpp
Examining data/higan-106/higan/gba/ppu/io.cpp
Examining data/higan-106/higan/gba/cpu/keypad.cpp
Examining data/higan-106/higan/gba/cpu/cpu.hpp
Examining data/higan-106/higan/gba/cpu/serialization.cpp
Examining data/higan-106/higan/gba/cpu/bus.cpp
Examining data/higan-106/higan/gba/cpu/dma.cpp
Examining data/higan-106/higan/gba/cpu/prefetch.cpp
Examining data/higan-106/higan/gba/cpu/timer.cpp
Examining data/higan-106/higan/gba/cpu/io.cpp
Examining data/higan-106/higan/gba/cpu/memory.cpp
Examining data/higan-106/higan/gba/cpu/cpu.cpp
Examining data/higan-106/higan/gba/apu/sequencer.cpp
Examining data/higan-106/higan/gba/apu/square1.cpp
Examining data/higan-106/higan/gba/apu/serialization.cpp
Examining data/higan-106/higan/gba/apu/noise.cpp
Examining data/higan-106/higan/gba/apu/io.cpp
Examining data/higan-106/higan/gba/apu/fifo.cpp
Examining data/higan-106/higan/gba/apu/apu.cpp
Examining data/higan-106/higan/gba/apu/wave.cpp
Examining data/higan-106/higan/gba/apu/square2.cpp
Examining data/higan-106/higan/gba/apu/apu.hpp
Examining data/higan-106/higan/gba/apu/square.cpp
Examining data/higan-106/higan/gba/player/player.cpp
Examining data/higan-106/higan/gba/player/serialization.cpp
Examining data/higan-106/higan/gba/player/player.hpp
Examining data/higan-106/higan/gba/cartridge/sram.cpp
Examining data/higan-106/higan/gba/cartridge/cartridge.hpp
Examining data/higan-106/higan/gba/cartridge/serialization.cpp
Examining data/higan-106/higan/gba/cartridge/mrom.cpp
Examining data/higan-106/higan/gba/cartridge/eeprom.cpp
Examining data/higan-106/higan/gba/cartridge/cartridge.cpp
Examining data/higan-106/higan/gba/cartridge/memory.hpp
Examining data/higan-106/higan/gba/cartridge/flash.cpp
Examining data/higan-106/higan/gba/interface/interface.cpp
Examining data/higan-106/higan/gba/interface/interface.hpp
Examining data/higan-106/higan/gba/memory/memory.cpp
Examining data/higan-106/higan/gba/memory/memory.hpp
Examining data/higan-106/higan/gba/gba.hpp
Examining data/higan-106/higan/md/vdp/sprite.cpp
Examining data/higan-106/higan/md/vdp/dma.cpp
Examining data/higan-106/higan/md/vdp/render.cpp
Examining data/higan-106/higan/md/vdp/memory.cpp
Examining data/higan-106/higan/md/vdp/vdp.cpp
Examining data/higan-106/higan/md/vdp/serialization.cpp
Examining data/higan-106/higan/md/vdp/vdp.hpp
Examining data/higan-106/higan/md/vdp/io.cpp
Examining data/higan-106/higan/md/vdp/background.cpp
Examining data/higan-106/higan/md/psg/psg.cpp
Examining data/higan-106/higan/md/psg/psg.hpp
Examining data/higan-106/higan/md/psg/serialization.cpp
Examining data/higan-106/higan/md/psg/io.cpp
Examining data/higan-106/higan/md/psg/noise.cpp
Examining data/higan-106/higan/md/psg/tone.cpp
Examining data/higan-106/higan/md/apu/serialization.cpp
Examining data/higan-106/higan/md/apu/bus.cpp
Examining data/higan-106/higan/md/apu/apu.hpp
Examining data/higan-106/higan/md/apu/apu.cpp
Examining data/higan-106/higan/md/cartridge/serialization.cpp
Examining data/higan-106/higan/md/cartridge/cartridge.hpp
Examining data/higan-106/higan/md/cartridge/cartridge.cpp
Examining data/higan-106/higan/md/interface/interface.cpp
Examining data/higan-106/higan/md/interface/interface.hpp
Examining data/higan-106/higan/md/controller/fighting-pad/fighting-pad.cpp
Examining data/higan-106/higan/md/controller/fighting-pad/fighting-pad.hpp
Examining data/higan-106/higan/md/controller/control-pad/control-pad.cpp
Examining data/higan-106/higan/md/controller/control-pad/control-pad.hpp
Examining data/higan-106/higan/md/controller/controller.cpp
Examining data/higan-106/higan/md/controller/controller.hpp
Examining data/higan-106/higan/md/ym2612/io.cpp
Examining data/higan-106/higan/md/ym2612/constants.cpp
Examining data/higan-106/higan/md/ym2612/timer.cpp
Examining data/higan-106/higan/md/ym2612/channel.cpp
Examining data/higan-106/higan/md/ym2612/ym2612.cpp
Examining data/higan-106/higan/md/ym2612/serialization.cpp
Examining data/higan-106/higan/md/ym2612/ym2612.hpp
Examining data/higan-106/higan/md/cpu/cpu.cpp
Examining data/higan-106/higan/md/cpu/serialization.cpp
Examining data/higan-106/higan/md/cpu/cpu.hpp
Examining data/higan-106/higan/md/cpu/bus.cpp
Examining data/higan-106/higan/md/system/serialization.cpp
Examining data/higan-106/higan/md/system/system.cpp
Examining data/higan-106/higan/md/system/system.hpp
Examining data/higan-106/higan/md/md.hpp
Examining data/higan-106/higan/processor/arm7tdmi/arm7tdmi.cpp
Examining data/higan-106/higan/processor/arm7tdmi/instructions-arm.cpp
Examining data/higan-106/higan/processor/arm7tdmi/algorithms.cpp
Examining data/higan-106/higan/processor/arm7tdmi/arm7tdmi.hpp
Examining data/higan-106/higan/processor/arm7tdmi/serialization.cpp
Examining data/higan-106/higan/processor/arm7tdmi/memory.cpp
Examining data/higan-106/higan/processor/arm7tdmi/disassembler.cpp
Examining data/higan-106/higan/processor/arm7tdmi/instruction.cpp
Examining data/higan-106/higan/processor/arm7tdmi/registers.cpp
Examining data/higan-106/higan/processor/arm7tdmi/instructions-thumb.cpp
Examining data/higan-106/higan/processor/m68k/registers.cpp
Examining data/higan-106/higan/processor/m68k/effective-address.cpp
Examining data/higan-106/higan/processor/m68k/memory.cpp
Examining data/higan-106/higan/processor/m68k/m68k.cpp
Examining data/higan-106/higan/processor/m68k/instructions.cpp
Examining data/higan-106/higan/processor/m68k/disassembler.cpp
Examining data/higan-106/higan/processor/m68k/instruction.cpp
Examining data/higan-106/higan/processor/m68k/serialization.cpp
Examining data/higan-106/higan/processor/m68k/m68k.hpp
Examining data/higan-106/higan/processor/z80/memory.cpp
Examining data/higan-106/higan/processor/z80/serialization.cpp
Examining data/higan-106/higan/processor/z80/registers.cpp
Examining data/higan-106/higan/processor/z80/algorithms.cpp
Examining data/higan-106/higan/processor/z80/z80.cpp
Examining data/higan-106/higan/processor/z80/disassembler.cpp
Examining data/higan-106/higan/processor/z80/instruction.cpp
Examining data/higan-106/higan/processor/z80/z80.hpp
Examining data/higan-106/higan/processor/z80/instructions.cpp
Examining data/higan-106/higan/processor/spc700/disassembler.cpp
Examining data/higan-106/higan/processor/spc700/memory.cpp
Examining data/higan-106/higan/processor/spc700/spc700.hpp
Examining data/higan-106/higan/processor/spc700/algorithms.cpp
Examining data/higan-106/higan/processor/spc700/serialization.cpp
Examining data/higan-106/higan/processor/spc700/instruction.cpp
Examining data/higan-106/higan/processor/spc700/spc700.cpp
Examining data/higan-106/higan/processor/spc700/instructions.cpp
Examining data/higan-106/higan/processor/upd96050/upd96050.hpp
Examining data/higan-106/higan/processor/upd96050/memory.cpp
Examining data/higan-106/higan/processor/upd96050/disassembler.cpp
Examining data/higan-106/higan/processor/upd96050/serialization.cpp
Examining data/higan-106/higan/processor/upd96050/upd96050.cpp
Examining data/higan-106/higan/processor/upd96050/instructions.cpp
Examining data/higan-106/higan/processor/wdc65816/instruction.hpp
Examining data/higan-106/higan/processor/wdc65816/wdc65816.cpp
Examining data/higan-106/higan/processor/wdc65816/algorithms.cpp
Examining data/higan-106/higan/processor/wdc65816/instructions-modify.cpp
Examining data/higan-106/higan/processor/wdc65816/instructions-pc.cpp
Examining data/higan-106/higan/processor/wdc65816/disassembler.cpp
Examining data/higan-106/higan/processor/wdc65816/wdc65816.hpp
Examining data/higan-106/higan/processor/wdc65816/instructions-read.cpp
Examining data/higan-106/higan/processor/wdc65816/serialization.cpp
Examining data/higan-106/higan/processor/wdc65816/instruction.cpp
Examining data/higan-106/higan/processor/wdc65816/instructions-write.cpp
Examining data/higan-106/higan/processor/wdc65816/memory.cpp
Examining data/higan-106/higan/processor/wdc65816/instructions-other.cpp
Examining data/higan-106/higan/processor/mos6502/instructions.cpp
Examining data/higan-106/higan/processor/mos6502/disassembler.cpp
Examining data/higan-106/higan/processor/mos6502/mos6502.cpp
Examining data/higan-106/higan/processor/mos6502/instruction.cpp
Examining data/higan-106/higan/processor/mos6502/algorithms.cpp
Examining data/higan-106/higan/processor/mos6502/mos6502.hpp
Examining data/higan-106/higan/processor/mos6502/serialization.cpp
Examining data/higan-106/higan/processor/mos6502/memory.cpp
Examining data/higan-106/higan/processor/processor.hpp
Examining data/higan-106/higan/processor/v30mz/registers.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-move.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-alu.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-flag.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-exec.cpp
Examining data/higan-106/higan/processor/v30mz/algorithms.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-misc.cpp
Examining data/higan-106/higan/processor/v30mz/instruction.cpp
Examining data/higan-106/higan/processor/v30mz/v30mz.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-string.cpp
Examining data/higan-106/higan/processor/v30mz/memory.cpp
Examining data/higan-106/higan/processor/v30mz/modrm.cpp
Examining data/higan-106/higan/processor/v30mz/serialization.cpp
Examining data/higan-106/higan/processor/v30mz/v30mz.hpp
Examining data/higan-106/higan/processor/v30mz/instructions-group.cpp
Examining data/higan-106/higan/processor/v30mz/disassembler.cpp
Examining data/higan-106/higan/processor/v30mz/instructions-adjust.cpp
Examining data/higan-106/higan/processor/hg51b/instructions.cpp
Examining data/higan-106/higan/processor/hg51b/hg51b.hpp
Examining data/higan-106/higan/processor/hg51b/serialization.cpp
Examining data/higan-106/higan/processor/hg51b/registers.cpp
Examining data/higan-106/higan/processor/hg51b/hg51b.cpp
Examining data/higan-106/higan/processor/lr35902/algorithms.cpp
Examining data/higan-106/higan/processor/lr35902/instruction.cpp
Examining data/higan-106/higan/processor/lr35902/lr35902.cpp
Examining data/higan-106/higan/processor/lr35902/instructions.cpp
Examining data/higan-106/higan/processor/lr35902/serialization.cpp
Examining data/higan-106/higan/processor/lr35902/disassembler.cpp
Examining data/higan-106/higan/processor/lr35902/memory.cpp
Examining data/higan-106/higan/processor/lr35902/registers.cpp
Examining data/higan-106/higan/processor/lr35902/lr35902.hpp
Examining data/higan-106/higan/processor/gsu/gsu.cpp
Examining data/higan-106/higan/processor/gsu/instructions.cpp
Examining data/higan-106/higan/processor/gsu/disassembler.cpp
Examining data/higan-106/higan/processor/gsu/gsu.hpp
Examining data/higan-106/higan/processor/gsu/registers.hpp
Examining data/higan-106/higan/processor/gsu/serialization.cpp
Examining data/higan-106/higan/processor/gsu/instruction.cpp
Examining data/higan-106/higan/processor/huc6280/memory.cpp
Examining data/higan-106/higan/processor/huc6280/huc6280.cpp
Examining data/higan-106/higan/processor/huc6280/instruction.cpp
Examining data/higan-106/higan/processor/huc6280/serialization.cpp
Examining data/higan-106/higan/processor/huc6280/instructions.cpp
Examining data/higan-106/higan/processor/huc6280/disassembler.cpp
Examining data/higan-106/higan/processor/huc6280/huc6280.hpp
Examining data/higan-106/higan/processor/huc6280/algorithms.cpp
Examining data/higan-106/higan/target-tomoko/settings/video.cpp
Examining data/higan-106/higan/target-tomoko/settings/settings.hpp
Examining data/higan-106/higan/target-tomoko/settings/advanced.cpp
Examining data/higan-106/higan/target-tomoko/settings/audio.cpp
Examining data/higan-106/higan/target-tomoko/settings/input.cpp
Examining data/higan-106/higan/target-tomoko/settings/settings.cpp
Examining data/higan-106/higan/target-tomoko/settings/hotkeys.cpp
Examining data/higan-106/higan/target-tomoko/program/interface.cpp
Examining data/higan-106/higan/target-tomoko/program/utility.cpp
Examining data/higan-106/higan/target-tomoko/program/program.cpp
Examining data/higan-106/higan/target-tomoko/program/state.cpp
Examining data/higan-106/higan/target-tomoko/program/program.hpp
Examining data/higan-106/higan/target-tomoko/program/medium.cpp
Examining data/higan-106/higan/target-tomoko/tools/cheat-editor.cpp
Examining data/higan-106/higan/target-tomoko/tools/tools.hpp
Examining data/higan-106/higan/target-tomoko/tools/cheat-database.cpp
Examining data/higan-106/higan/target-tomoko/tools/state-manager.cpp
Examining data/higan-106/higan/target-tomoko/tools/game-notes.cpp
Examining data/higan-106/higan/target-tomoko/tools/manifest-viewer.cpp
Examining data/higan-106/higan/target-tomoko/tools/tools.cpp
Examining data/higan-106/higan/target-tomoko/input/input.hpp
Examining data/higan-106/higan/target-tomoko/input/hotkeys.cpp
Examining data/higan-106/higan/target-tomoko/input/input.cpp
Examining data/higan-106/higan/target-tomoko/configuration/configuration.hpp
Examining data/higan-106/higan/target-tomoko/configuration/configuration.cpp
Examining data/higan-106/higan/target-tomoko/presentation/presentation.cpp
Examining data/higan-106/higan/target-tomoko/presentation/presentation.hpp
Examining data/higan-106/higan/target-tomoko/presentation/about.cpp
Examining data/higan-106/higan/target-tomoko/tomoko.hpp
Examining data/higan-106/higan/target-tomoko/tomoko.cpp
Examining data/higan-106/higan/pce/vdc/memory.cpp
Examining data/higan-106/higan/pce/vdc/irq.cpp
Examining data/higan-106/higan/pce/vdc/vdc.cpp
Examining data/higan-106/higan/pce/vdc/background.cpp
Examining data/higan-106/higan/pce/vdc/io.cpp
Examining data/higan-106/higan/pce/vdc/dma.cpp
Examining data/higan-106/higan/pce/vdc/vdc.hpp
Examining data/higan-106/higan/pce/vdc/sprite.cpp
Examining data/higan-106/higan/pce/vdc/serialization.cpp
Examining data/higan-106/higan/pce/controller/controller.cpp
Examining data/higan-106/higan/pce/controller/gamepad/gamepad.cpp
Examining data/higan-106/higan/pce/controller/gamepad/gamepad.hpp
Examining data/higan-106/higan/pce/controller/controller.hpp
Examining data/higan-106/higan/pce/cpu/memory.cpp
Examining data/higan-106/higan/pce/cpu/cpu.hpp
Examining data/higan-106/higan/pce/cpu/serialization.cpp
Examining data/higan-106/higan/pce/cpu/timer.cpp
Examining data/higan-106/higan/pce/cpu/io.cpp
Examining data/higan-106/higan/pce/cpu/irq.cpp
Examining data/higan-106/higan/pce/cpu/cpu.cpp
Examining data/higan-106/higan/pce/psg/serialization.cpp
Examining data/higan-106/higan/pce/psg/channel.cpp
Examining data/higan-106/higan/pce/psg/psg.cpp
Examining data/higan-106/higan/pce/psg/io.cpp
Examining data/higan-106/higan/pce/psg/psg.hpp
Examining data/higan-106/higan/pce/vce/serialization.cpp
Examining data/higan-106/higan/pce/vce/vce.cpp
Examining data/higan-106/higan/pce/vce/io.cpp
Examining data/higan-106/higan/pce/vce/vce.hpp
Examining data/higan-106/higan/pce/vce/memory.cpp
Examining data/higan-106/higan/pce/interface/interface.hpp
Examining data/higan-106/higan/pce/interface/pc-engine.cpp
Examining data/higan-106/higan/pce/interface/interface.cpp
Examining data/higan-106/higan/pce/interface/supergrafx.cpp
Examining data/higan-106/higan/pce/pce.hpp
Examining data/higan-106/higan/pce/vpc/vpc.cpp
Examining data/higan-106/higan/pce/vpc/vpc.hpp
Examining data/higan-106/higan/pce/vpc/serialization.cpp
Examining data/higan-106/higan/pce/cartridge/cartridge.cpp
Examining data/higan-106/higan/pce/cartridge/cartridge.hpp
Examining data/higan-106/higan/pce/system/system.cpp
Examining data/higan-106/higan/pce/system/serialization.cpp
Examining data/higan-106/higan/pce/system/system.hpp
Examining data/higan-106/higan/ws/system/io.cpp
Examining data/higan-106/higan/ws/system/system.cpp
Examining data/higan-106/higan/ws/system/system.hpp
Examining data/higan-106/higan/ws/system/serialization.cpp
Examining data/higan-106/higan/ws/system/video.cpp
Examining data/higan-106/higan/ws/apu/channel1.cpp
Examining data/higan-106/higan/ws/apu/dma.cpp
Examining data/higan-106/higan/ws/apu/apu.hpp
Examining data/higan-106/higan/ws/apu/channel4.cpp
Examining data/higan-106/higan/ws/apu/channel2.cpp
Examining data/higan-106/higan/ws/apu/channel5.cpp
Examining data/higan-106/higan/ws/apu/io.cpp
Examining data/higan-106/higan/ws/apu/apu.cpp
Examining data/higan-106/higan/ws/apu/channel3.cpp
Examining data/higan-106/higan/ws/apu/serialization.cpp
Examining data/higan-106/higan/ws/memory/memory.hpp
Examining data/higan-106/higan/ws/memory/memory.cpp
Examining data/higan-106/higan/ws/ppu/serialization.cpp
Examining data/higan-106/higan/ws/ppu/render.cpp
Examining data/higan-106/higan/ws/ppu/ppu.cpp
Examining data/higan-106/higan/ws/ppu/io.cpp
Examining data/higan-106/higan/ws/ppu/ppu.hpp
Examining data/higan-106/higan/ws/ppu/video.cpp
Examining data/higan-106/higan/ws/ppu/latch.cpp
Examining data/higan-106/higan/ws/eeprom/serialization.cpp
Examining data/higan-106/higan/ws/eeprom/eeprom.cpp
Examining data/higan-106/higan/ws/eeprom/eeprom.hpp
Examining data/higan-106/higan/ws/cartridge/rtc.cpp
Examining data/higan-106/higan/ws/cartridge/cartridge.cpp
Examining data/higan-106/higan/ws/cartridge/memory.cpp
Examining data/higan-106/higan/ws/cartridge/cartridge.hpp
Examining data/higan-106/higan/ws/cartridge/io.cpp
Examining data/higan-106/higan/ws/cartridge/serialization.cpp
Examining data/higan-106/higan/ws/cpu/io.cpp
Examining data/higan-106/higan/ws/cpu/interrupt.cpp
Examining data/higan-106/higan/ws/cpu/cpu.cpp
Examining data/higan-106/higan/ws/cpu/serialization.cpp
Examining data/higan-106/higan/ws/cpu/cpu.hpp
Examining data/higan-106/higan/ws/cpu/dma.cpp
Examining data/higan-106/higan/ws/interface/wonderswan-color.cpp
Examining data/higan-106/higan/ws/interface/interface.hpp
Examining data/higan-106/higan/ws/interface/wonderswan.cpp
Examining data/higan-106/higan/ws/interface/interface.cpp
Examining data/higan-106/higan/ws/ws.hpp
Examining data/higan-106/higan/gb/apu/wave.cpp
Examining data/higan-106/higan/gb/apu/apu.hpp
Examining data/higan-106/higan/gb/apu/square1.cpp
Examining data/higan-106/higan/gb/apu/sequencer.cpp
Examining data/higan-106/higan/gb/apu/square2.cpp
Examining data/higan-106/higan/gb/apu/noise.cpp
Examining data/higan-106/higan/gb/apu/serialization.cpp
Examining data/higan-106/higan/gb/apu/apu.cpp
Examining data/higan-106/higan/gb/cartridge/mbc7/mbc7.cpp
Examining data/higan-106/higan/gb/cartridge/mbc7/mbc7.hpp
Examining data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.hpp
Examining data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp
Examining data/higan-106/higan/gb/cartridge/tama/tama.hpp
Examining data/higan-106/higan/gb/cartridge/tama/tama.cpp
Examining data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp
Examining data/higan-106/higan/gb/cartridge/mmm01/mmm01.hpp
Examining data/higan-106/higan/gb/cartridge/mbc5/mbc5.hpp
Examining data/higan-106/higan/gb/cartridge/mbc5/mbc5.cpp
Examining data/higan-106/higan/gb/cartridge/huc1/huc1.cpp
Examining data/higan-106/higan/gb/cartridge/huc1/huc1.hpp
Examining data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp
Examining data/higan-106/higan/gb/cartridge/mbc1/mbc1.hpp
Examining data/higan-106/higan/gb/cartridge/mbc6/mbc6.hpp
Examining data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp
Examining data/higan-106/higan/gb/cartridge/mbc0/mbc0.cpp
Examining data/higan-106/higan/gb/cartridge/mbc0/mbc0.hpp
Examining data/higan-106/higan/gb/cartridge/huc3/huc3.cpp
Examining data/higan-106/higan/gb/cartridge/huc3/huc3.hpp
Examining data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp
Examining data/higan-106/higan/gb/cartridge/mbc2/mbc2.hpp
Examining data/higan-106/higan/gb/cartridge/cartridge.cpp
Examining data/higan-106/higan/gb/cartridge/mbc3/mbc3.cpp
Examining data/higan-106/higan/gb/cartridge/mbc3/mbc3.hpp
Examining data/higan-106/higan/gb/cartridge/cartridge.hpp
Examining data/higan-106/higan/gb/cartridge/serialization.cpp
Examining data/higan-106/higan/gb/ppu/serialization.cpp
Examining data/higan-106/higan/gb/ppu/io.cpp
Examining data/higan-106/higan/gb/ppu/ppu.cpp
Examining data/higan-106/higan/gb/ppu/dmg.cpp
Examining data/higan-106/higan/gb/ppu/cgb.cpp
Examining data/higan-106/higan/gb/ppu/ppu.hpp
Examining data/higan-106/higan/gb/interface/game-boy-color.cpp
Examining data/higan-106/higan/gb/interface/game-boy.cpp
Examining data/higan-106/higan/gb/interface/interface.hpp
Examining data/higan-106/higan/gb/interface/interface.cpp
Examining data/higan-106/higan/gb/memory/memory.hpp
Examining data/higan-106/higan/gb/memory/memory.cpp
Examining data/higan-106/higan/gb/cpu/io.cpp
Examining data/higan-106/higan/gb/cpu/timing.cpp
Examining data/higan-106/higan/gb/cpu/cpu.cpp
Examining data/higan-106/higan/gb/cpu/memory.cpp
Examining data/higan-106/higan/gb/cpu/cpu.hpp
Examining data/higan-106/higan/gb/cpu/serialization.cpp
Examining data/higan-106/higan/gb/gb.hpp
Examining data/higan-106/higan/gb/system/system.cpp
Examining data/higan-106/higan/gb/system/serialization.cpp
Examining data/higan-106/higan/gb/system/system.hpp
Examining data/higan-106/higan/gb/system/video.cpp
Examining data/higan-106/higan/ms/psg/serialization.cpp
Examining data/higan-106/higan/ms/psg/psg.hpp
Examining data/higan-106/higan/ms/psg/io.cpp
Examining data/higan-106/higan/ms/psg/tone.cpp
Examining data/higan-106/higan/ms/psg/noise.cpp
Examining data/higan-106/higan/ms/psg/psg.cpp
Examining data/higan-106/higan/ms/cartridge/serialization.cpp
Examining data/higan-106/higan/ms/cartridge/cartridge.cpp
Examining data/higan-106/higan/ms/cartridge/mapper.cpp
Examining data/higan-106/higan/ms/cartridge/cartridge.hpp
Examining data/higan-106/higan/ms/vdp/serialization.cpp
Examining data/higan-106/higan/ms/vdp/sprite.cpp
Examining data/higan-106/higan/ms/vdp/io.cpp
Examining data/higan-106/higan/ms/vdp/vdp.cpp
Examining data/higan-106/higan/ms/vdp/background.cpp
Examining data/higan-106/higan/ms/vdp/vdp.hpp
Examining data/higan-106/higan/ms/cpu/cpu.hpp
Examining data/higan-106/higan/ms/cpu/serialization.cpp
Examining data/higan-106/higan/ms/cpu/cpu.cpp
Examining data/higan-106/higan/ms/cpu/bus.cpp
Examining data/higan-106/higan/ms/interface/interface.cpp
Examining data/higan-106/higan/ms/interface/interface.hpp
Examining data/higan-106/higan/ms/interface/master-system.cpp
Examining data/higan-106/higan/ms/interface/game-gear.cpp
Examining data/higan-106/higan/ms/system/system.cpp
Examining data/higan-106/higan/ms/system/serialization.cpp
Examining data/higan-106/higan/ms/system/system.hpp
Examining data/higan-106/higan/ms/controller/gamepad/gamepad.cpp
Examining data/higan-106/higan/ms/controller/gamepad/gamepad.hpp
Examining data/higan-106/higan/ms/controller/controller.cpp
Examining data/higan-106/higan/ms/controller/controller.hpp
Examining data/higan-106/higan/ms/ms.hpp
Examining data/higan-106/higan/audio/audio.cpp
Examining data/higan-106/higan/audio/audio.hpp
Examining data/higan-106/higan/audio/stream.cpp
Examining data/higan-106/higan/video/video.cpp
Examining data/higan-106/higan/video/video.hpp
Examining data/higan-106/higan/video/sprite.cpp
Examining data/higan-106/higan/emulator/emulator.cpp
Examining data/higan-106/higan/emulator/interface.hpp
Examining data/higan-106/higan/emulator/types.hpp
Examining data/higan-106/higan/emulator/emulator.hpp
Examining data/higan-106/higan/emulator/cheat.hpp
Examining data/higan-106/higan/emulator/platform.hpp
Examining data/higan-106/higan/emulator/random.hpp
Examining data/higan-106/higan/emulator/scheduler.hpp
Examining data/higan-106/higan/emulator/thread.hpp
Examining data/higan-106/higan/resource/resource.cpp
Examining data/higan-106/higan/resource/resource.hpp
Examining data/higan-106/nall/property.hpp
Examining data/higan-106/nall/database/odbc.hpp
Examining data/higan-106/nall/database/sqlite3.hpp
Examining data/higan-106/nall/string/transform/dml.hpp
Examining data/higan-106/nall/string/transform/cml.hpp
Examining data/higan-106/nall/string/match.hpp
Examining data/higan-106/nall/string/convert.hpp
Examining data/higan-106/nall/string/allocator/copy-on-write.hpp
Examining data/higan-106/nall/string/allocator/vector.hpp
Examining data/higan-106/nall/string/allocator/small-string-optimization.hpp
Examining data/higan-106/nall/string/allocator/adaptive.hpp
Examining data/higan-106/nall/string/eval/evaluator.hpp
Examining data/higan-106/nall/string/eval/parser.hpp
Examining data/higan-106/nall/string/eval/literal.hpp
Examining data/higan-106/nall/string/eval/node.hpp
Examining data/higan-106/nall/string/compare.hpp
Examining data/higan-106/nall/string/format.hpp
Examining data/higan-106/nall/string/markup/find.hpp
Examining data/higan-106/nall/string/markup/bml.hpp
Examining data/higan-106/nall/string/markup/node.hpp
Examining data/higan-106/nall/string/markup/xml.hpp
Examining data/higan-106/nall/string/trim.hpp
Examining data/higan-106/nall/string/list.hpp
Examining data/higan-106/nall/string/atoi.hpp
Examining data/higan-106/nall/string/view.hpp
Examining data/higan-106/nall/string/replace.hpp
Examining data/higan-106/nall/string/core.hpp
Examining data/higan-106/nall/string/split.hpp
Examining data/higan-106/nall/string/cast.hpp
Examining data/higan-106/nall/string/find.hpp
Examining data/higan-106/nall/string/utility.hpp
Examining data/higan-106/nall/vfs/memory/file.hpp
Examining data/higan-106/nall/vfs/fs/file.hpp
Examining data/higan-106/nall/vfs/vfs.hpp
Examining data/higan-106/nall/vector/access.hpp
Examining data/higan-106/nall/vector/assign.hpp
Examining data/higan-106/nall/vector/utility.hpp
Examining data/higan-106/nall/vector/core.hpp
Examining data/higan-106/nall/vector/memory.hpp
Examining data/higan-106/nall/vector/iterator.hpp
Examining data/higan-106/nall/vector/modify.hpp
Examining data/higan-106/nall/emulation/21fx.hpp
Examining data/higan-106/nall/mac/poly1305.hpp
Examining data/higan-106/nall/filemap.hpp
Examining data/higan-106/nall/cipher/chacha20.hpp
Examining data/higan-106/nall/arithmetic/natural.hpp
Examining data/higan-106/nall/arithmetic/unsigned.hpp
Examining data/higan-106/nall/arithmetic/barrett.hpp
Examining data/higan-106/nall/image.hpp
Examining data/higan-106/nall/beat/file.hpp
Examining data/higan-106/nall/beat/patch.hpp
Examining data/higan-106/nall/beat/multi.hpp
Examining data/higan-106/nall/beat/metadata.hpp
Examining data/higan-106/nall/beat/linear.hpp
Examining data/higan-106/nall/beat/delta.hpp
Examining data/higan-106/nall/beat/archive.hpp
Examining data/higan-106/nall/windows/launcher.hpp
Examining data/higan-106/nall/windows/shared-memory.hpp
Examining data/higan-106/nall/windows/registry.hpp
Examining data/higan-106/nall/windows/guard.hpp
Examining data/higan-106/nall/windows/detour.hpp
Examining data/higan-106/nall/windows/utf8.hpp
Examining data/higan-106/nall/windows/guid.hpp
Examining data/higan-106/nall/windows/service.hpp
Examining data/higan-106/nall/array.hpp
Examining data/higan-106/nall/stdint.hpp
Examining data/higan-106/nall/any.hpp
Examining data/higan-106/nall/hashset.hpp
Examining data/higan-106/nall/xorg/clipboard.hpp
Examining data/higan-106/nall/xorg/xorg.hpp
Examining data/higan-106/nall/xorg/guard.hpp
Examining data/higan-106/nall/inode.hpp
Examining data/higan-106/nall/decode/base57.hpp
Examining data/higan-106/nall/decode/png.hpp
Examining data/higan-106/nall/decode/bmp.hpp
Examining data/higan-106/nall/decode/base64.hpp
Examining data/higan-106/nall/decode/zip.hpp
Examining data/higan-106/nall/decode/inflate.hpp
Examining data/higan-106/nall/decode/url.hpp
Examining data/higan-106/nall/decode/gzip.hpp
Examining data/higan-106/nall/dsp/iir/one-pole.hpp
Examining data/higan-106/nall/dsp/iir/biquad.hpp
Examining data/higan-106/nall/dsp/resampler/cubic.hpp
Examining data/higan-106/nall/unique-pointer.hpp
Examining data/higan-106/nall/random.hpp
Examining data/higan-106/nall/smtp.hpp
Examining data/higan-106/nall/sort.hpp
Examining data/higan-106/nall/image/interpolation.hpp
Examining data/higan-106/nall/image/static.hpp
Examining data/higan-106/nall/image/blend.hpp
Examining data/higan-106/nall/image/load.hpp
Examining data/higan-106/nall/image/utility.hpp
Examining data/higan-106/nall/image/fill.hpp
Examining data/higan-106/nall/image/base.hpp
Examining data/higan-106/nall/image/scale.hpp
Examining data/higan-106/nall/image/core.hpp
Examining data/higan-106/nall/service.hpp
Examining data/higan-106/nall/elliptic-curve/modulo25519.hpp
Examining data/higan-106/nall/elliptic-curve/curve25519.hpp
Examining data/higan-106/nall/elliptic-curve/ed25519.hpp
Examining data/higan-106/nall/elliptic-curve/modulo25519-reference.hpp
Examining data/higan-106/nall/hash/crc32.hpp
Examining data/higan-106/nall/hash/sha512.hpp
Examining data/higan-106/nall/hash/hash.hpp
Examining data/higan-106/nall/hash/sha384.hpp
Examining data/higan-106/nall/hash/sha256.hpp
Examining data/higan-106/nall/hash/crc16.hpp
Examining data/higan-106/nall/hash/crc64.hpp
Examining data/higan-106/nall/hash/sha224.hpp
Examining data/higan-106/nall/memory.hpp
Examining data/higan-106/nall/encode/base57.hpp
Examining data/higan-106/nall/encode/bmp.hpp
Examining data/higan-106/nall/encode/zip.hpp
Examining data/higan-106/nall/encode/url.hpp
Examining data/higan-106/nall/encode/base64.hpp
Examining data/higan-106/nall/string.hpp
Examining data/higan-106/nall/http/role.hpp
Examining data/higan-106/nall/http/server.hpp
Examining data/higan-106/nall/http/response.hpp
Examining data/higan-106/nall/http/message.hpp
Examining data/higan-106/nall/http/client.hpp
Examining data/higan-106/nall/http/request.hpp
Examining data/higan-106/nall/thread.hpp
Examining data/higan-106/nall/matrix.hpp
Examining data/higan-106/nall/atoi.hpp
Examining data/higan-106/nall/serializer.hpp
Examining data/higan-106/nall/chrono.hpp
Examining data/higan-106/nall/function.hpp
Examining data/higan-106/nall/hid.hpp
Examining data/higan-106/nall/range.hpp
Examining data/higan-106/nall/directory.hpp
Examining data/higan-106/nall/interpolation.hpp
Examining data/higan-106/nall/intrinsics.hpp
Examining data/higan-106/nall/main.hpp
Examining data/higan-106/nall/vfs.hpp
Examining data/higan-106/nall/vector.hpp
Examining data/higan-106/nall/traits.hpp
Examining data/higan-106/nall/primitives.hpp
Examining data/higan-106/nall/algorithm.hpp
Examining data/higan-106/nall/posix/service.hpp
Examining data/higan-106/nall/posix/shared-memory.hpp
Examining data/higan-106/nall/map.hpp
Examining data/higan-106/nall/run.hpp
Examining data/higan-106/nall/set.hpp
Examining data/higan-106/nall/nall.hpp
Examining data/higan-106/nall/bit-field.hpp
Examining data/higan-106/nall/varint.hpp
Examining data/higan-106/nall/shared-memory.hpp
Examining data/higan-106/nall/maybe.hpp
Examining data/higan-106/nall/dl.hpp
Examining data/higan-106/nall/shared-pointer.hpp
Examining data/higan-106/nall/queue.hpp
Examining data/higan-106/nall/endian.hpp
Examining data/higan-106/nall/arithmetic.hpp
Examining data/higan-106/nall/location.hpp
Examining data/higan-106/nall/file.hpp
Examining data/higan-106/nall/serial.hpp
Examining data/higan-106/nall/utility.hpp
Examining data/higan-106/nall/bit-vector.hpp
Examining data/higan-106/nall/bit.hpp
Examining data/higan-106/nall/path.hpp
Examining data/higan-106/nall/platform.hpp
Examining data/higan-106/icarus/heuristics/super-famicom.cpp
Examining data/higan-106/icarus/heuristics/bs-memory.cpp
Examining data/higan-106/icarus/heuristics/wonderswan.cpp
Examining data/higan-106/icarus/heuristics/supergrafx.cpp
Examining data/higan-106/icarus/heuristics/game-boy-advance.cpp
Examining data/higan-106/icarus/heuristics/mega-drive.cpp
Examining data/higan-106/icarus/heuristics/master-system.cpp
Examining data/higan-106/icarus/heuristics/game-gear.cpp
Examining data/higan-106/icarus/heuristics/game-boy.cpp
Examining data/higan-106/icarus/heuristics/sufami-turbo.cpp
Examining data/higan-106/icarus/heuristics/pc-engine.cpp
Examining data/higan-106/icarus/heuristics/famicom.cpp
Examining data/higan-106/icarus/icarus.cpp
Examining data/higan-106/icarus/ui/error-dialog.cpp
Examining data/higan-106/icarus/ui/scan-dialog.cpp
Examining data/higan-106/icarus/ui/settings-dialog.cpp
Examining data/higan-106/icarus/ui/ui.hpp
Examining data/higan-106/icarus/ui/import-dialog.cpp
Examining data/higan-106/icarus/core/game-boy-advance.cpp
Examining data/higan-106/icarus/core/wonderswan.cpp
Examining data/higan-106/icarus/core/supergrafx.cpp
Examining data/higan-106/icarus/core/master-system.cpp
Examining data/higan-106/icarus/core/game-gear.cpp
Examining data/higan-106/icarus/core/wonderswan-color.cpp
Examining data/higan-106/icarus/core/sufami-turbo.cpp
Examining data/higan-106/icarus/core/mega-drive.cpp
Examining data/higan-106/icarus/core/core.cpp
Examining data/higan-106/icarus/core/game-boy.cpp
Examining data/higan-106/icarus/core/super-famicom.cpp
Examining data/higan-106/icarus/core/bs-memory.cpp
Examining data/higan-106/icarus/core/pc-engine.cpp
Examining data/higan-106/icarus/core/core.hpp
Examining data/higan-106/icarus/core/famicom.cpp
Examining data/higan-106/icarus/core/game-boy-color.cpp
Examining data/higan-106/icarus/settings.cpp
Examining data/higan-106/ruby/input/mouse/xlib.cpp
Examining data/higan-106/ruby/input/mouse/rawinput.cpp
Examining data/higan-106/ruby/input/joypad/udev.cpp
Examining data/higan-106/ruby/input/joypad/directinput.cpp
Examining data/higan-106/ruby/input/joypad/sdl.cpp
Examining data/higan-106/ruby/input/joypad/xinput.cpp
Examining data/higan-106/ruby/input/keyboard/xlib.cpp
Examining data/higan-106/ruby/input/keyboard/rawinput.cpp
Examining data/higan-106/ruby/input/keyboard/carbon.cpp
Examining data/higan-106/ruby/input/keyboard/quartz.cpp
Examining data/higan-106/ruby/input/shared/rawinput.cpp
Examining data/higan-106/ruby/input/quartz.cpp
Examining data/higan-106/ruby/input/xlib.cpp
Examining data/higan-106/ruby/input/windows.cpp
Examining data/higan-106/ruby/input/udev.cpp
Examining data/higan-106/ruby/input/sdl.cpp
Examining data/higan-106/ruby/input/carbon.cpp
Examining data/higan-106/ruby/video/xshm.cpp
Examining data/higan-106/ruby/video/xvideo.cpp
Examining data/higan-106/ruby/video/opengl/bind.hpp
Examining data/higan-106/ruby/video/opengl/opengl.hpp
Examining data/higan-106/ruby/video/opengl/main.hpp
Examining data/higan-106/ruby/video/opengl/texture.hpp
Examining data/higan-106/ruby/video/opengl/utility.hpp
Examining data/higan-106/ruby/video/opengl/surface.hpp
Examining data/higan-106/ruby/video/opengl/shaders.hpp
Examining data/higan-106/ruby/video/opengl/program.hpp
Examining data/higan-106/ruby/video/cgl.cpp
Examining data/higan-106/ruby/video/glx.cpp
Examining data/higan-106/ruby/video/directdraw.cpp
Examining data/higan-106/ruby/video/glx2.cpp
Examining data/higan-106/ruby/video/direct3d.cpp
Examining data/higan-106/ruby/video/sdl.cpp
Examining data/higan-106/ruby/video/gdi.cpp
Examining data/higan-106/ruby/video/wgl.cpp
Examining data/higan-106/ruby/ruby.hpp
Examining data/higan-106/ruby/audio/asio.cpp
Examining data/higan-106/ruby/audio/xaudio2.cpp
Examining data/higan-106/ruby/audio/alsa.cpp
Examining data/higan-106/ruby/audio/pulseaudiosimple.cpp
Examining data/higan-106/ruby/audio/asio.hpp
Examining data/higan-106/ruby/audio/xaudio2.hpp
Examining data/higan-106/ruby/audio/ao.cpp
Examining data/higan-106/ruby/audio/directsound.cpp
Examining data/higan-106/ruby/audio/wasapi.cpp
Examining data/higan-106/ruby/audio/oss.cpp
Examining data/higan-106/ruby/audio/pulseaudio.cpp
Examining data/higan-106/ruby/audio/openal.cpp
Examining data/higan-106/ruby/ruby.cpp
Examining data/higan-106/libco/arm.c
Examining data/higan-106/libco/amd64.c
Examining data/higan-106/libco/fiber.c
Examining data/higan-106/libco/libco.h
Examining data/higan-106/libco/libco.c
Examining data/higan-106/libco/ppc.c
Examining data/higan-106/libco/x86.c
Examining data/higan-106/libco/ucontext.c
Examining data/higan-106/libco/settings.h
Examining data/higan-106/libco/sjlj.c

FINAL RESULTS:

data/higan-106/higan/fc/apu/apu.cpp:75:22:  [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.
  create(APU::Enter, system.frequency());
data/higan-106/higan/fc/cartridge/cartridge.cpp:50:28:  [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.
  create(Cartridge::Enter, system.frequency());
data/higan-106/higan/fc/controller/controller.cpp:33:7:  [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(!system.loaded()) return;
data/higan-106/higan/fc/cpu/cpu.cpp:30:22:  [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.
  create(CPU::Enter, system.frequency());
data/higan-106/higan/fc/interface/interface.cpp:55:20:  [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.
  vi.refreshRate = system.frequency() / (ppu.vlines() * ppu.rate() * 341.0);
data/higan-106/higan/fc/interface/interface.cpp:115:10:  [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.
  return system.loaded();
data/higan-106/higan/fc/interface/interface.cpp:123:10:  [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.
  return system.load(this);
data/higan-106/higan/fc/interface/interface.cpp:127:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/fc/interface/interface.cpp:132:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/fc/interface/interface.cpp:141:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ false);
data/higan-106/higan/fc/interface/interface.cpp:145:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ true);
data/higan-106/higan/fc/interface/interface.cpp:149:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/fc/interface/interface.cpp:153:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/fc/interface/interface.cpp:154:10:  [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.
  return system.serialize();
data/higan-106/higan/fc/interface/interface.cpp:158:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/fc/interface/interface.cpp:180:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoPalette();
data/higan-106/higan/fc/ppu/ppu.cpp:58:22:  [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.
  create(PPU::Enter, system.frequency());
data/higan-106/higan/fc/system/serialization.cpp:43:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/fc/system/system.cpp:7:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/fc/system/system.hpp:44:15:  [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.
extern System system;
data/higan-106/higan/fc/system/system.hpp:46:39:  [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.
auto Region::NTSCJ() -> bool { return system.region() == System::Region::NTSCJ; }
data/higan-106/higan/fc/system/system.hpp:47:39:  [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.
auto Region::NTSCU() -> bool { return system.region() == System::Region::NTSCU; }
data/higan-106/higan/fc/system/system.hpp:48: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.
auto Region::PAL() -> bool { return system.region() == System::Region::PAL; }
data/higan-106/higan/gb/cartridge/cartridge.cpp:125:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    if(Model::GameBoy()) data = system.bootROM.dmg;
data/higan-106/higan/gb/cartridge/cartridge.cpp:126:38:  [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(Model::GameBoyColor()) data = system.bootROM.cgb;
data/higan-106/higan/gb/cartridge/cartridge.cpp:127:38:  [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(Model::SuperGameBoy()) data = system.bootROM.sgb;
data/higan-106/higan/gb/cpu/timing.cpp:25:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system._clocksExecuted += clocks;
data/higan-106/higan/gb/interface/game-boy-color.cpp:35: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.
  if(id == ID::GameBoyColor) return system.load(this, System::Model::GameBoyColor);
data/higan-106/higan/gb/interface/game-boy.cpp:50:32:  [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(id == ID::GameBoy) return system.load(this, System::Model::GameBoy);
data/higan-106/higan/gb/interface/interface.cpp:51:10:  [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.
  return system.loaded();
data/higan-106/higan/gb/interface/interface.cpp:59:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/gb/interface/interface.cpp:64:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/gb/interface/interface.cpp:68:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power();
data/higan-106/higan/gb/interface/interface.cpp:72:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/gb/interface/interface.cpp:76:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/gb/interface/interface.cpp:77:10:  [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.
  return system.serialize();
data/higan-106/higan/gb/interface/interface.cpp:81:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/gb/interface/interface.cpp:103:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/gb/interface/interface.cpp:109:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoPalette();
data/higan-106/higan/gb/system/serialization.cpp:45:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/gb/system/system.cpp:7:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/gb/system/system.hpp:57:15:  [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.
extern System system;
data/higan-106/higan/gb/system/system.hpp:59: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.
auto Model::GameBoy() -> bool { return system.model() == System::Model::GameBoy; }
data/higan-106/higan/gb/system/system.hpp:60:45:  [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.
auto Model::GameBoyColor() -> bool { return system.model() == System::Model::GameBoyColor; }
data/higan-106/higan/gb/system/system.hpp:61:45:  [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.
auto Model::SuperGameBoy() -> bool { return system.model() == System::Model::SuperGameBoy; }
data/higan-106/higan/gba/apu/apu.cpp:78:22:  [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.
  create(APU::Enter, system.frequency());
data/higan-106/higan/gba/cpu/cpu.cpp:70:22:  [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.
  create(CPU::Enter, system.frequency());
data/higan-106/higan/gba/interface/interface.cpp:49:20:  [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.
  vi.refreshRate = system.frequency() / (228.0 * 1232.0);
data/higan-106/higan/gba/interface/interface.cpp:84:10:  [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.
  return system.loaded();
data/higan-106/higan/gba/interface/interface.cpp:88:10:  [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.
  return system.load(this);
data/higan-106/higan/gba/interface/interface.cpp:92:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/gba/interface/interface.cpp:97:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/gba/interface/interface.cpp:101:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power();
data/higan-106/higan/gba/interface/interface.cpp:105:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/gba/interface/interface.cpp:109:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/gba/interface/interface.cpp:110:10:  [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.
  return system.serialize();
data/higan-106/higan/gba/interface/interface.cpp:114:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/gba/interface/interface.cpp:134:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/gba/interface/interface.cpp:140:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoPalette();
data/higan-106/higan/gba/interface/interface.cpp:146:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/gba/ppu/ppu.cpp:117:22:  [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.
  create(PPU::Enter, system.frequency());
data/higan-106/higan/gba/system/serialization.cpp:46:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/gba/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/gba/system/system.hpp:54:15:  [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.
extern System system;
data/higan-106/higan/md/apu/apu.cpp:59:22:  [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.
  create(APU::Enter, system.frequency() / 15.0);
data/higan-106/higan/md/apu/apu.cpp:68:22:  [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.
  create(APU::Enter, system.frequency() / 15.0);
data/higan-106/higan/md/controller/controller.cpp:36:7:  [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(!system.loaded()) return;
data/higan-106/higan/md/cpu/cpu.cpp:86:22:  [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.
  create(CPU::Enter, system.frequency() / 7.0);
data/higan-106/higan/md/interface/interface.cpp:75:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  vi.refreshRate = (system.frequency() / 2.0) / (vdp.frameHeight() * 1710.0);
data/higan-106/higan/md/interface/interface.cpp:103:10:  [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.
  return system.loaded();
data/higan-106/higan/md/interface/interface.cpp:107:10:  [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.
  return system.load(this);
data/higan-106/higan/md/interface/interface.cpp:111:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/md/interface/interface.cpp:116:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/md/interface/interface.cpp:126:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ false);
data/higan-106/higan/md/interface/interface.cpp:130:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ true);
data/higan-106/higan/md/interface/interface.cpp:134:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/md/interface/interface.cpp:138:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/md/interface/interface.cpp:139:10:  [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.
  return system.serialize();
data/higan-106/higan/md/interface/interface.cpp:143:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/md/psg/psg.cpp:38:22:  [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.
  create(PSG::Enter, system.frequency() / 15.0);
data/higan-106/higan/md/system/serialization.cpp:57:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/md/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/md/system/system.cpp:31: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(!cpu.load(system)) return false;
data/higan-106/higan/md/system/system.hpp:39:15:  [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.
extern System system;
data/higan-106/higan/md/system/system.hpp:41:39:  [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.
auto Region::NTSCJ() -> bool { return system.region() == System::Region::NTSCJ; }
data/higan-106/higan/md/system/system.hpp:42:39:  [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.
auto Region::NTSCU() -> bool { return system.region() == System::Region::NTSCU; }
data/higan-106/higan/md/system/system.hpp:43: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.
auto Region::PAL() -> bool { return system.region() == System::Region::PAL; }
data/higan-106/higan/md/vdp/vdp.cpp:85:22:  [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.
  create(VDP::Enter, system.frequency() / 2.0);
data/higan-106/higan/md/ym2612/ym2612.cpp:158:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  create(YM2612::Enter, system.frequency() / 7.0);
data/higan-106/higan/ms/controller/controller.cpp:34:7:  [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(!system.loaded()) return;
data/higan-106/higan/ms/cpu/cpu.cpp:59:22:  [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.
  create(CPU::Enter, system.colorburst());
data/higan-106/higan/ms/interface/game-gear.cpp:31:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  vi.refreshRate = (system.colorburst() * 15.0 / 5.0) / (262.0 * 684.0);
data/higan-106/higan/ms/interface/game-gear.cpp:52:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  if(id == ID::GameGear) return system.load(this, System::Model::GameGear);
data/higan-106/higan/ms/interface/interface.cpp:21:10:  [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.
  return system.loaded();
data/higan-106/higan/ms/interface/interface.cpp:25:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/ms/interface/interface.cpp:30:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/ms/interface/interface.cpp:34:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power();
data/higan-106/higan/ms/interface/interface.cpp:38:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/ms/interface/interface.cpp:42:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/ms/interface/interface.cpp:43:10:  [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.
  return system.serialize();
data/higan-106/higan/ms/interface/interface.cpp:47:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/ms/interface/master-system.cpp:46: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.
  if(Region::NTSC()) vi.refreshRate = (system.colorburst() * 15.0 / 5.0) / (262.0 * 684.0);
data/higan-106/higan/ms/interface/master-system.cpp:47: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.
  if(Region::PAL())  vi.refreshRate = (system.colorburst() * 15.0 / 5.0) / (312.0 * 684.0);
data/higan-106/higan/ms/interface/master-system.cpp:68: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.
  if(id == ID::MasterSystem) return system.load(this, System::Model::MasterSystem);
data/higan-106/higan/ms/psg/psg.cpp:45:22:  [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.
  create(PSG::Enter, system.colorburst() / 16.0);
data/higan-106/higan/ms/system/serialization.cpp:57:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/ms/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/ms/system/system.hpp:39:15:  [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.
extern System system;
data/higan-106/higan/ms/system/system.hpp:41:45:  [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.
auto Model::MasterSystem() -> bool { return system.model() == System::Model::MasterSystem; }
data/higan-106/higan/ms/system/system.hpp:42:41:  [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.
auto Model::GameGear() -> bool { return system.model() == System::Model::GameGear; }
data/higan-106/higan/ms/system/system.hpp:44:38:  [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.
auto Region::NTSC() -> bool { return system.region() == System::Region::NTSC; }
data/higan-106/higan/ms/system/system.hpp:45: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.
auto Region::PAL() -> bool { return system.region() == System::Region::PAL; }
data/higan-106/higan/ms/vdp/vdp.cpp:102:22:  [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.
  create(VDP::Enter, system.colorburst() * 15.0 / 5.0);
data/higan-106/higan/pce/controller/controller.cpp:32:7:  [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(!system.loaded()) return;
data/higan-106/higan/pce/cpu/cpu.cpp:33:22:  [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.
  create(CPU::Enter, system.colorburst() * 2.0);
data/higan-106/higan/pce/interface/interface.cpp:49:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  vi.refreshRate = (system.colorburst() * 6.0) / (262.0 * 1365.0);
data/higan-106/higan/pce/interface/interface.cpp:70:10:  [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.
  return system.loaded();
data/higan-106/higan/pce/interface/interface.cpp:78:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/pce/interface/interface.cpp:83:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/pce/interface/interface.cpp:91:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power();
data/higan-106/higan/pce/interface/interface.cpp:95:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/pce/interface/interface.cpp:99:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/pce/interface/interface.cpp:100:10:  [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.
  return system.serialize();
data/higan-106/higan/pce/interface/interface.cpp:104:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/pce/interface/pc-engine.cpp:9:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  if(id == ID::PCEngine) return system.load(this, System::Model::PCEngine);
data/higan-106/higan/pce/interface/supergrafx.cpp:9: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.
  if(id == ID::SuperGrafx) return system.load(this, System::Model::SuperGrafx);
data/higan-106/higan/pce/psg/psg.cpp:53:22:  [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.
  create(PSG::Enter, system.colorburst());
data/higan-106/higan/pce/system/serialization.cpp:57:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/pce/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/pce/system/system.hpp:36:15:  [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.
extern System system;
data/higan-106/higan/pce/system/system.hpp:38:41:  [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.
auto Model::PCEngine() -> bool { return system.model() == System::Model::PCEngine; }
data/higan-106/higan/pce/system/system.hpp:39:43:  [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.
auto Model::SuperGrafx() -> bool { return system.model() == System::Model::SuperGrafx; }
data/higan-106/higan/pce/vce/vce.cpp:61:22:  [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.
  create(VCE::Enter, system.colorburst() * 6.0);
data/higan-106/higan/pce/vdc/vdc.cpp:99:22:  [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.
  create(VDC::Enter, system.colorburst() * 6.0);
data/higan-106/higan/processor/gsu/disassembler.cpp:87:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(output, t);
data/higan-106/higan/processor/gsu/disassembler.cpp:144:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(output, t);
data/higan-106/higan/processor/gsu/disassembler.cpp:201:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(output, t);
data/higan-106/higan/processor/gsu/disassembler.cpp:258:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(output, t);
data/higan-106/higan/sfc/controller/controller.cpp:52:7:  [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(!system.loaded()) return;
data/higan-106/higan/sfc/controller/justifier/justifier.cpp:6:29:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  create(Controller::Enter, system.cpuFrequency());
data/higan-106/higan/sfc/controller/super-scope/super-scope.cpp:14:29:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  create(Controller::Enter, system.cpuFrequency());
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:16:44:  [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(scheduler.synchronizing()) GameBoy::system.runToSave();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:24:14:  [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.
    GameBoy::system.run();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:25: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.
    step(GameBoy::system._clocksExecuted);
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:26:14:  [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.
    GameBoy::system._clocksExecuted = 0;
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:36:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.load(&gameBoyInterface, GameBoy::System::Model::SuperGameBoy, cartridge.pathID());
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:41:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.save();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:42:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.unload();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:46:23:  [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.
  create(ICD2::Enter, system.cpuFrequency() / 5.0);
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:71:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.init();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:72:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.power();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:76:23:  [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.
  create(ICD2::Enter, system.cpuFrequency() / 5.0);
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:98:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.init();
data/higan-106/higan/sfc/coprocessor/icd2/icd2.cpp:99:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.power();
data/higan-106/higan/sfc/coprocessor/icd2/io.cpp:59:22:  [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.
    auto frequency = system.cpuFrequency();
data/higan-106/higan/sfc/coprocessor/icd2/serialization.cpp:3:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  GameBoy::system.serializeAll(s);
data/higan-106/higan/sfc/coprocessor/sa1/sa1.cpp:128:22:  [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.
  create(SA1::Enter, system.cpuFrequency());
data/higan-106/higan/sfc/coprocessor/superfx/superfx.cpp:41:26:  [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.
  create(SuperFX::Enter, system.cpuFrequency());
data/higan-106/higan/sfc/cpu/cpu.cpp:65: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.
  create(Enter, system.cpuFrequency());
data/higan-106/higan/sfc/dsp/dsp.cpp:232: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.
  create(Enter, system.apuFrequency());
data/higan-106/higan/sfc/expansion/expansion.cpp:27:7:  [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(!system.loaded()) return;
data/higan-106/higan/sfc/interface/interface.cpp:127:39:  [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(Region::NTSC()) vi.refreshRate = system.cpuFrequency() / (262.0 * 1364.0);
data/higan-106/higan/sfc/interface/interface.cpp:128:39:  [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(Region::PAL())  vi.refreshRate = system.cpuFrequency() / (312.0 * 1364.0);
data/higan-106/higan/sfc/interface/interface.cpp:165:10:  [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.
  return system.loaded();
data/higan-106/higan/sfc/interface/interface.cpp:173: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.
  if(id == ID::SuperFamicom) return system.load(this);
data/higan-106/higan/sfc/interface/interface.cpp:181:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/sfc/interface/interface.cpp:186:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/sfc/interface/interface.cpp:196:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ false);
data/higan-106/higan/sfc/interface/interface.cpp:200:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power(/* reset = */ true);
data/higan-106/higan/sfc/interface/interface.cpp:204:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/sfc/interface/interface.cpp:219:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/sfc/interface/interface.cpp:220:10:  [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.
  return system.serialize();
data/higan-106/higan/sfc/interface/interface.cpp:224:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/sfc/interface/interface.cpp:252:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/sfc/interface/interface.cpp:257:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoPalette();
data/higan-106/higan/sfc/ppu/ppu.cpp:90: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.
  create(Enter, system.cpuFrequency());
data/higan-106/higan/sfc/smp/smp.cpp:37: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.
  create(Enter, system.apuFrequency() / 12.0);
data/higan-106/higan/sfc/system/serialization.cpp:47:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/sfc/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/sfc/system/system.cpp:36: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(!cpu.load(system)) return false;
data/higan-106/higan/sfc/system/system.cpp:37: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(!smp.load(system)) return false;
data/higan-106/higan/sfc/system/system.cpp:38: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(!ppu.load(system)) return false;
data/higan-106/higan/sfc/system/system.cpp:39: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(!dsp.load(system)) return false;
data/higan-106/higan/sfc/system/system.hpp:45:15:  [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.
extern System system;
data/higan-106/higan/sfc/system/system.hpp:47:38:  [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.
auto Region::NTSC() -> bool { return system.region() == System::Region::NTSC; }
data/higan-106/higan/sfc/system/system.hpp:48: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.
auto Region::PAL() -> bool { return system.region() == System::Region::PAL; }
data/higan-106/higan/ws/cpu/io.cpp:5:13:  [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.
    data |= system.keypad.y1 << 0;
data/higan-106/higan/ws/cpu/io.cpp:6:13:  [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.
    data |= system.keypad.y2 << 1;
data/higan-106/higan/ws/cpu/io.cpp:7:13:  [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.
    data |= system.keypad.y3 << 2;
data/higan-106/higan/ws/cpu/io.cpp:8:13:  [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.
    data |= system.keypad.y4 << 3;
data/higan-106/higan/ws/cpu/io.cpp:12:13:  [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.
    data |= system.keypad.x1 << 0;
data/higan-106/higan/ws/cpu/io.cpp:13:13:  [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.
    data |= system.keypad.x2 << 1;
data/higan-106/higan/ws/cpu/io.cpp:14:13:  [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.
    data |= system.keypad.x3 << 2;
data/higan-106/higan/ws/cpu/io.cpp:15:13:  [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.
    data |= system.keypad.x4 << 3;
data/higan-106/higan/ws/cpu/io.cpp:19:13:  [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.
    data |= system.keypad.start << 1;
data/higan-106/higan/ws/cpu/io.cpp:20:13:  [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.
    data |= system.keypad.a     << 2;
data/higan-106/higan/ws/cpu/io.cpp:21:13:  [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.
    data |= system.keypad.b     << 3;
data/higan-106/higan/ws/interface/interface.cpp:54:10:  [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.
  return system.loaded();
data/higan-106/higan/ws/interface/interface.cpp:62:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.save();
data/higan-106/higan/ws/interface/interface.cpp:67:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.unload();
data/higan-106/higan/ws/interface/interface.cpp:71:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.power();
data/higan-106/higan/ws/interface/interface.cpp:75:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.run();
data/higan-106/higan/ws/interface/interface.cpp:79:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.runToSave();
data/higan-106/higan/ws/interface/interface.cpp:80:10:  [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.
  return system.serialize();
data/higan-106/higan/ws/interface/interface.cpp:84:10:  [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.
  return system.unserialize(s);
data/higan-106/higan/ws/interface/interface.cpp:108:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/ws/interface/interface.cpp:114:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoPalette();
data/higan-106/higan/ws/interface/interface.cpp:120:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    system.configureVideoEffects();
data/higan-106/higan/ws/interface/wonderswan-color.cpp:35: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.
  if(id == ID::WonderSwanColor) return system.load(this, System::Model::WonderSwanColor);
data/higan-106/higan/ws/interface/wonderswan.cpp:38: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.
  if(id == ID::WonderSwan) return system.load(this, System::Model::WonderSwan);
data/higan-106/higan/ws/memory/memory.cpp:20:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  if(addr >= 0x4000 && !system.color()) return 0x90;
data/higan-106/higan/ws/memory/memory.cpp:25:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  if(addr >= 0x4000 && !system.color()) return;
data/higan-106/higan/ws/ppu/io.cpp:14:26:  [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.
    r.backColor.bits(0, !system.color() ? 2 : 7)
data/higan-106/higan/ws/ppu/io.cpp:25:30:  [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.
    r.spriteBase.bits(0, 4 + system.depth())
data/higan-106/higan/ws/ppu/io.cpp:36:36:  [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.
    r.screenOneMapBase.bits(0, 2 + system.depth()) << 0
data/higan-106/higan/ws/ppu/io.cpp:37:36:  [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.
  | r.screenTwoMapBase.bits(0, 2 + system.depth()) << 4
data/higan-106/higan/ws/ppu/latch.cpp:43:48:  [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.
  uint16 spriteBase = r.spriteBase.bits(0, 4 + system.depth()) << 9;
data/higan-106/higan/ws/ppu/render.cpp:2: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.
  uint16 offset = 0x200 + tile << (4 + system.depth());
data/higan-106/higan/ws/ppu/render.cpp:5:6:  [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(system.planar()) {
data/higan-106/higan/ws/ppu/render.cpp:6:9:  [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(!system.depth()) {
data/higan-106/higan/ws/ppu/render.cpp:19:6:  [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(system.packed()) {
data/higan-106/higan/ws/ppu/render.cpp:20:9:  [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(!system.depth()) {
data/higan-106/higan/ws/ppu/render.cpp:35:7:  [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(!system.depth() && !palette) return false;
data/higan-106/higan/ws/ppu/render.cpp:40:7:  [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(!system.color()) {
data/higan-106/higan/ws/ppu/render.cpp:50:7:  [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(!system.color()) {
data/higan-106/higan/ws/ppu/render.cpp:63:57:  [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.
  uint16 tilemapOffset = l.screenOneMapBase.bits(0, 2 + system.depth()) << 11;
data/higan-106/higan/ws/ppu/render.cpp:85:57:  [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.
  uint16 tilemapOffset = l.screenTwoMapBase.bits(0, 2 + system.depth()) << 11;
data/higan-106/higan/ws/ppu/video.cpp:7:6:  [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(system.orientation() == 0) {
data/higan-106/higan/ws/ppu/video.cpp:27:6:  [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(system.orientation() == 1) {
data/higan-106/higan/ws/system/serialization.cpp:57:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system.serialize(s);
data/higan-106/higan/ws/system/system.cpp:5:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
System system;
data/higan-106/higan/ws/system/system.hpp:65:15:  [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.
extern System system;
data/higan-106/higan/ws/system/system.hpp:67:43:  [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.
auto Model::WonderSwan() -> bool { return system.model() == System::Model::WonderSwan; }
data/higan-106/higan/ws/system/system.hpp:68:48:  [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.
auto Model::WonderSwanColor() -> bool { return system.model() == System::Model::WonderSwanColor; }
data/higan-106/higan/ws/system/system.hpp:69:44:  [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.
auto Model::SwanCrystal() -> bool { return system.model() == System::Model::SwanCrystal; }
data/higan-106/hiro/windows/application.cpp:213:17:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
                wcscpy(write, output);
data/higan-106/nall/inode.hpp:12:28:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  enum class time : uint { access, modify };
data/higan-106/nall/inode.hpp:15:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return access(name, F_OK) == 0;
data/higan-106/nall/inode.hpp:19:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return access(name, R_OK) == 0;
data/higan-106/nall/inode.hpp:23:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return access(name, W_OK) == 0;
data/higan-106/nall/inode.hpp:27:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return access(name, X_OK) == 0;
data/higan-106/nall/inode.hpp:52:16:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    case time::access: return data.st_atime;
data/higan-106/nall/platform.hpp:73:15:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  inline auto access(const char* path, int amode) -> int { return _waccess(nall::utf16_t(path), amode); }
data/higan-106/nall/platform.hpp:74:131:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  inline auto getcwd(char* buf, size_t size) -> char* { wchar_t wpath[PATH_MAX] = L""; if(!_wgetcwd(wpath, size)) return nullptr; strcpy(buf, nall::utf8_t(wpath)); return buf; }
data/higan-106/nall/platform.hpp:78:195:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  inline auto realpath(const char* file_name, char* resolved_name) -> char* { wchar_t wfile_name[PATH_MAX] = L""; if(!_wfullpath(wfile_name, nall::utf16_t(file_name), PATH_MAX)) return nullptr; strcpy(resolved_name, nall::utf8_t(wfile_name)); return resolved_name; }
data/higan-106/nall/run.hpp:50:5:  [4] (shell) execvp:
  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.
    execvp(name, (char* const*)argv);
data/higan-106/nall/run.hpp:100:8:  [4] (shell) execvp:
  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(execvp(name, (char* const*)argv) < 0) {
data/higan-106/nall/run.hpp:101:7:  [4] (shell) execlp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      execlp("xdg-open", "xdg-open", (const char*)name, nullptr);
data/higan-106/nall/run.hpp:196:3:  [4] (shell) ShellExecute:
  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.
  ShellExecute(nullptr, nullptr, utf16_t(name), utf16_t(arguments), utf16_t(directory), SW_SHOWNORMAL);
data/higan-106/nall/string/utility.hpp:154:14:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  if(result) strcpy(result, buffer);
data/higan-106/nall/windows/utf8.hpp:83:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
      strcpy(argv[i], nall::utf8_t(wargv[i]));
data/higan-106/higan/emulator/random.hpp:9:12:  [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.
    return random();
data/higan-106/higan/emulator/random.hpp:28:8:  [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.
  auto random() -> uint64 {
data/higan-106/higan/emulator/random.hpp:35:12:  [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.
    return random();
data/higan-106/higan/emulator/random.hpp:41:23:  [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.
      uint64 result = random();
data/higan-106/higan/emulator/random.hpp:54: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.
        data[address] = random();
data/higan-106/higan/emulator/random.hpp:60:18:  [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.
    uint lobit = random() & 3;
data/higan-106/higan/emulator/random.hpp:61:32:  [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.
    uint hibit = (lobit + 8 + (random() & 3)) & 15;
data/higan-106/higan/emulator/random.hpp:62:20:  [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.
    uint lovalue = random() & 255;
data/higan-106/higan/emulator/random.hpp:63:20:  [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.
    uint hivalue = random() & 255;
data/higan-106/higan/emulator/random.hpp:64:9:  [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.
    if((random() & 3) == 0) lovalue = 0;
data/higan-106/higan/emulator/random.hpp:65:9:  [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.
    if((random() & 1) == 0) hivalue = ~lovalue;
data/higan-106/higan/emulator/random.hpp:70:11:  [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.
      if((random() &  511) == 0) value.bit(random() & 7) ^= 1;
data/higan-106/higan/emulator/random.hpp:70:44:  [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.
      if((random() &  511) == 0) value.bit(random() & 7) ^= 1;
data/higan-106/higan/emulator/random.hpp:71:11:  [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.
      if((random() & 2047) == 0) value.bit(random() & 7) ^= 1;
data/higan-106/higan/emulator/random.hpp:71:44:  [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.
      if((random() & 2047) == 0) value.bit(random() & 7) ^= 1;
data/higan-106/higan/pce/psg/channel.cpp:21:28:  [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.
    io.noiseSample = nall::random() & 1 ? ~0 : 0;
data/higan-106/higan/sfc/cpu/cpu.cpp:89:14:  [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.
  if(!reset) random.array(wram, sizeof(wram));
data/higan-106/higan/sfc/dsp/dsp.cpp:235:14:  [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.
  if(!reset) random.array(apuram, sizeof(apuram));
data/higan-106/higan/sfc/ppu/background/background.cpp:217: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.
  io.tiledataAddress = (random() & 0x0f) << 12;
data/higan-106/higan/sfc/ppu/background/background.cpp:218:23:  [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.
  io.screenAddress = (random() & 0xfc) << 8;
data/higan-106/higan/sfc/ppu/background/background.cpp:219:19:  [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.
  io.screenSize = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:220:17:  [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.
  io.tileSize = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:221:20:  [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.
  io.aboveEnable = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:222:20:  [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.
  io.belowEnable = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:223:16:  [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.
  io.hoffset = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:224:16:  [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.
  io.voffset = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:232:17:  [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.
  mosaic.size = random();
data/higan-106/higan/sfc/ppu/background/background.cpp:233:19:  [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.
  mosaic.enable = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:192:20:  [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.
  io.aboveEnable = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:193:20:  [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.
  io.belowEnable = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:194:18:  [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.
  io.interlace = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:196:17:  [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.
  io.baseSize = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:197:19:  [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.
  io.nameselect = random();
data/higan-106/higan/sfc/ppu/object/object.cpp:198: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.
  io.tiledataAddress = (random() & 7) << 13;
data/higan-106/higan/sfc/ppu/ppu.cpp:98:14:  [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.
  if(!reset) random.array((uint8*)vram.data, sizeof(vram.data));
data/higan-106/higan/sfc/ppu/ppu.cpp:100:14:  [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.
  ppu1.mdr = random.bias(0xff);
data/higan-106/higan/sfc/ppu/ppu.cpp:101:14:  [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.
  ppu2.mdr = random.bias(0xff);
data/higan-106/higan/sfc/ppu/ppu.cpp:103:16:  [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.
  latch.vram = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:104:15:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  latch.oam = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:105:17:  [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.
  latch.cgram = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:106:21:  [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.
  latch.bgofsPPU1 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:107:21:  [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.
  latch.bgofsPPU2 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:108:17:  [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.
  latch.mode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:122:23:  [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.
  io.oamBaseAddress = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:123:19:  [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.
  io.oamAddress = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:124:20:  [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.
  io.oamPriority = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:131:21:  [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.
  io.hoffsetMode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:134:21:  [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.
  io.voffsetMode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:137:26:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  io.vramIncrementMode = random.bias(1);
data/higan-106/higan/sfc/ppu/ppu.cpp:138:20:  [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.
  io.vramMapping = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:143:20:  [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.
  io.vramAddress = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:146:20:  [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.
  io.repeatMode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:147:19:  [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.
  io.vflipMode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:148:19:  [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.
  io.hflipMode7 = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:151:12:  [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.
  io.m7a = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:154:12:  [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.
  io.m7b = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:157:12:  [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.
  io.m7c = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:160:12:  [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.
  io.m7d = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:163:12:  [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.
  io.m7x = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:166:12:  [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.
  io.m7y = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:169:21:  [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.
  io.cgramAddress = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:170:26:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  io.cgramAddressLatch = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:173:14:  [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.
  io.extbg = random();
data/higan-106/higan/sfc/ppu/ppu.cpp:174:20:  [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.
  io.pseudoHires = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:164:3:  [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.
  random.array((uint8*)cgram, sizeof(cgram));
data/higan-106/higan/sfc/ppu/screen/screen.cpp:167:18:  [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.
  io.blendMode = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:168:20:  [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.
  io.directColor = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:169:18:  [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.
  io.colorMode = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:170:19:  [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.
  io.colorHalve = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:171: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.
  io.bg1.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:172: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.
  io.bg2.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:173: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.
  io.bg3.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:174: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.
  io.bg4.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:175: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.
  io.obj.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:176: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.
  io.back.colorEnable = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:177:18:  [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.
  io.colorBlue = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:178:19:  [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.
  io.colorGreen = random();
data/higan-106/higan/sfc/ppu/screen/screen.cpp:179:17:  [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.
  io.colorRed = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:50:22:  [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.
  io.bg1.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:51:22:  [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.
  io.bg1.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:52:22:  [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.
  io.bg1.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:53:22:  [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.
  io.bg1.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:54:17:  [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.
  io.bg1.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:55: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.
  io.bg1.aboveEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:56: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.
  io.bg1.belowEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:58:22:  [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.
  io.bg2.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:59:22:  [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.
  io.bg2.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:60:22:  [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.
  io.bg2.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:61:22:  [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.
  io.bg2.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:62:17:  [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.
  io.bg2.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:63: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.
  io.bg2.aboveEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:64: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.
  io.bg2.belowEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:66:22:  [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.
  io.bg3.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:67:22:  [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.
  io.bg3.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:68:22:  [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.
  io.bg3.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:69:22:  [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.
  io.bg3.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:70:17:  [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.
  io.bg3.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:71: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.
  io.bg3.aboveEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:72: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.
  io.bg3.belowEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:74:22:  [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.
  io.bg4.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:75:22:  [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.
  io.bg4.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:76:22:  [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.
  io.bg4.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:77:22:  [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.
  io.bg4.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:78:17:  [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.
  io.bg4.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:79: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.
  io.bg4.aboveEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:80: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.
  io.bg4.belowEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:82:22:  [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.
  io.obj.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:83:22:  [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.
  io.obj.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:84:22:  [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.
  io.obj.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:85:22:  [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.
  io.obj.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:86:17:  [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.
  io.obj.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:87: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.
  io.obj.aboveEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:88: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.
  io.obj.belowEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:90:22:  [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.
  io.col.oneEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:91:22:  [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.
  io.col.oneInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:92:22:  [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.
  io.col.twoEnable = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:93:22:  [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.
  io.col.twoInvert = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:94:17:  [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.
  io.col.mask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:95:22:  [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.
  io.col.aboveMask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:96:22:  [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.
  io.col.belowMask = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:98:16:  [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.
  io.oneLeft = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:99:17:  [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.
  io.oneRight = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:100:16:  [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.
  io.twoLeft = random();
data/higan-106/higan/sfc/ppu/window/window.cpp:101:17:  [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.
  io.twoRight = random();
data/higan-106/higan/sfc/sfc.hpp:30:17:  [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.
  extern Random random;
data/higan-106/higan/sfc/system/serialization.cpp:45:3:  [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.
  random.serialize(s);
data/higan-106/higan/sfc/system/system.cpp:7:8:  [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.
Random random;
data/higan-106/higan/sfc/system/system.cpp:99:3:  [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.
  random.entropy(Random::Entropy::Low);
data/higan-106/nall/path.hpp:20:8:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
  if(::realpath(name, path)) result = Location::path(string{path}.transform("\\", "/"));
data/higan-106/nall/path.hpp:84:21:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *env = getenv("XDG_CONFIG_HOME");
data/higan-106/nall/platform.hpp:78:15:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
  inline auto realpath(const char* file_name, char* resolved_name) -> char* { wchar_t wfile_name[PATH_MAX] = L""; if(!_wfullpath(wfile_name, nall::utf16_t(file_name), PATH_MAX)) return nullptr; strcpy(resolved_name, nall::utf8_t(wfile_name)); return resolved_name; }
data/higan-106/nall/smtp.hpp:249:15:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  random_lfsr random;
data/higan-106/nall/smtp.hpp:250:3:  [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.
  random.seed(time(0));
data/higan-106/nall/smtp.hpp:252:55:  [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.
  for(uint n = 0; n < 16; n++) boundary.append(hex<2>(random()));
data/higan-106/higan/emulator/platform.hpp:20: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 auto open(uint id, string name, vfs::file::mode mode, bool required = false) -> vfs::shared::file { return {}; }
data/higan-106/higan/fc/cartridge/board/board.cpp:45:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), prgrom.name, File::Read, File::Required)) {
data/higan-106/higan/fc/cartridge/board/board.cpp:50:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), prgram.name, File::Read)) {
data/higan-106/higan/fc/cartridge/board/board.cpp:55:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), chrrom.name, File::Read, File::Required)) {
data/higan-106/higan/fc/cartridge/board/board.cpp:60:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), chrram.name, File::Read)) {
data/higan-106/higan/fc/cartridge/board/board.cpp:73:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), name, File::Write)) {
data/higan-106/higan/fc/cartridge/board/board.cpp:79:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(cartridge.pathID(), name, File::Write)) {
data/higan-106/higan/fc/cartridge/cartridge.cpp:24:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/fc/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/fc/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/fc/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/fc/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16];
data/higan-106/higan/fc/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64];
data/higan-106/higan/fc/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512];
data/higan-106/higan/fc/system/serialization.cpp:56:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16];
data/higan-106/higan/fc/system/serialization.cpp:57:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64];
data/higan-106/higan/fc/system/serialization.cpp:58:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512];
data/higan-106/higan/fc/system/system.cpp:26:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:41:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:70:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Read, File::Required)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:78:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Read, File::Optional)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:86:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Read, File::Optional)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:99:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/gb/cartridge/cartridge.cpp:105:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/gb/memory/memory.cpp:26:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(data, data_, size);
data/higan-106/higan/gb/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gb/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gb/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/gb/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gb/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gb/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512];
data/higan-106/higan/gb/system/serialization.cpp:55:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gb/system/serialization.cpp:56:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gb/system/serialization.cpp:57:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/gb/system/system.cpp:29:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gb/system/system.cpp:35:30:  [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(auto fp = platform->open(ID::System, name, File::Read, File::Required)) {
data/higan-106/higan/gb/system/system.cpp:42:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gb/system/system.cpp:48:30:  [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(auto fp = platform->open(ID::System, name, File::Read, File::Required)) {
data/higan-106/higan/gb/system/system.cpp:55:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(systemID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gb/system/system.cpp:61:30:  [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(auto fp = platform->open(systemID(), name, File::Read, File::Required)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:33:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:46:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), node["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:58:30:  [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(auto fp = platform->open(pathID(), node["name"].text(), File::Read)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:72:30:  [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(auto fp = platform->open(pathID(), node["name"].text(), File::Read)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:88:30:  [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(auto fp = platform->open(pathID(), node["name"].text(), File::Read)) {
data/higan-106/higan/gba/cartridge/cartridge.cpp:101:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), node["name"].text(), File::Write)) {
data/higan-106/higan/gba/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gba/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gba/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/gba/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gba/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gba/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/gba/system/serialization.cpp:57:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/gba/system/serialization.cpp:58:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/gba/system/serialization.cpp:59:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/gba/system/system.cpp:37:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/gba/system/system.cpp:44:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(ID::System, name, File::Read, File::Required)) {
data/higan-106/higan/md/cartridge/cartridge.cpp:16:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/md/cartridge/cartridge.cpp:37:32:  [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(auto fp = platform->open(pathID(), name, File::Read, File::Required)) {
data/higan-106/higan/md/cartridge/cartridge.cpp:55:32:  [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(auto fp = platform->open(pathID(), name, File::Read)) {
data/higan-106/higan/md/cartridge/cartridge.cpp:72:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/md/cpu/cpu.cpp:73:30:  [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(auto fp = platform->open(ID::System, name, File::Read, File::Required)) {
data/higan-106/higan/md/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/md/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/md/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/md/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/md/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/md/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/md/system/serialization.cpp:39:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/md/system/serialization.cpp:40:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/md/system/serialization.cpp:41:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/md/system/system.cpp:25:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/ms/cartridge/cartridge.cpp:25:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/ms/cartridge/cartridge.cpp:38:32:  [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(auto fp = platform->open(pathID(), name, File::Read, File::Required)) {
data/higan-106/higan/ms/cartridge/cartridge.cpp:51:32:  [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(auto fp = platform->open(pathID(), name, File::Read)) {
data/higan-106/higan/ms/cartridge/cartridge.cpp:65:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/ms/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ms/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ms/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ms/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ms/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ms/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ms/system/serialization.cpp:39:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ms/system/serialization.cpp:40:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ms/system/serialization.cpp:41:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ms/system/system.cpp:27:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/pce/cartridge/cartridge.cpp:22:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/pce/cartridge/cartridge.cpp:34:32:  [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(auto fp = platform->open(pathID(), name, File::Read, File::Required)) {
data/higan-106/higan/pce/cpu/memory.cpp:14:26:  [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(auto fp = platform->open(cartridge.pathID(), "save.ram", File::Read)) {
data/higan-106/higan/pce/cpu/memory.cpp:20:26:  [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(auto fp = platform->open(cartridge.pathID(), "save.ram", File::Write)) {
data/higan-106/higan/pce/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/pce/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/pce/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/pce/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/pce/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/pce/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/pce/system/serialization.cpp:39:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/pce/system/serialization.cpp:40:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/pce/system/serialization.cpp:41:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/pce/system/system.cpp:26:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/processor/gsu/disassembler.cpp:34:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char t[256] = "";
data/higan-106/higan/processor/gsu/disassembler.cpp:36:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x00): sprintf(t, "stop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:37:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x01): sprintf(t, "nop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:38:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x02): sprintf(t, "cache"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:39:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x03): sprintf(t, "lsr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:40:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x04): sprintf(t, "rol"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:41:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x05): sprintf(t, "bra %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:42:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x06): sprintf(t, "blt %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:43:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x07): sprintf(t, "bge %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:44:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x08): sprintf(t, "bne %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:45:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x09): sprintf(t, "beq %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:46:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0a): sprintf(t, "bpl %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:47:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0b): sprintf(t, "bmi %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:48:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0c): sprintf(t, "bcc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:49:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0d): sprintf(t, "bcs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:50:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0e): sprintf(t, "bvc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:51:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0f): sprintf(t, "bvs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:52:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x10): sprintf(t, "to r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:53:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x20): sprintf(t, "with r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:54:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x30): sprintf(t, "stw (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:55:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3c): sprintf(t, "loop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:56:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3d): sprintf(t, "alt1"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:57:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3e): sprintf(t, "alt2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:58:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3f): sprintf(t, "alt3"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:59:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x40): sprintf(t, "ldw (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:60:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4c): sprintf(t, "plot"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:61:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4d): sprintf(t, "swap"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:62:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4e): sprintf(t, "color"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:63:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4f): sprintf(t, "not"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:64:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x50): sprintf(t, "add r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:65:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x60): sprintf(t, "sub r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:66:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x70): sprintf(t, "merge"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:67:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0x71): sprintf(t, "and r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:68:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x80): sprintf(t, "mult r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:69:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x90): sprintf(t, "sbk"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:70:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case4 (0x91): sprintf(t, "link #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:71:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x95): sprintf(t, "sex"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:72:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x96): sprintf(t, "asr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:73:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x97): sprintf(t, "ror"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:74:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case6 (0x98): sprintf(t, "jmp r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:75:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9e): sprintf(t, "lob"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:76:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9f): sprintf(t, "fmult"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:77:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xa0): sprintf(t, "ibt r%u,#$%.2x", op0 & 15, op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:78:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xb0): sprintf(t, "from r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:79:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xc0): sprintf(t, "hib"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:80:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xc1): sprintf(t, "or r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:81:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xd0): sprintf(t, "inc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:82:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xdf): sprintf(t, "getc"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:83:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xe0): sprintf(t, "dec r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:84:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xef): sprintf(t, "getb"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:85:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xf0): sprintf(t, "iwt r%u,#$%.2x%.2x", op0 & 15, op2, op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:91:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char t[256] = "";
data/higan-106/higan/processor/gsu/disassembler.cpp:93:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x00): sprintf(t, "stop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:94:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x01): sprintf(t, "nop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:95:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x02): sprintf(t, "cache"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:96:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x03): sprintf(t, "lsr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:97:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x04): sprintf(t, "rol"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:98:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x05): sprintf(t, "bra %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:99:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x06): sprintf(t, "blt %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:100:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x07): sprintf(t, "bge %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:101:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x08): sprintf(t, "bne %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:102:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x09): sprintf(t, "beq %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:103:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0a): sprintf(t, "bpl %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:104:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0b): sprintf(t, "bmi %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:105:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0c): sprintf(t, "bcc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:106:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0d): sprintf(t, "bcs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:107:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0e): sprintf(t, "bvc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:108:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0f): sprintf(t, "bvs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:109:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x10): sprintf(t, "to r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:110:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x20): sprintf(t, "with r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:111:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x30): sprintf(t, "stb (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:112:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3c): sprintf(t, "loop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:113:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3d): sprintf(t, "alt1"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:114:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3e): sprintf(t, "alt2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:115:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3f): sprintf(t, "alt3"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:116:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x40): sprintf(t, "ldb (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:117:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4c): sprintf(t, "rpix"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:118:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4d): sprintf(t, "swap"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:119:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4e): sprintf(t, "cmode"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:120:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4f): sprintf(t, "not"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:121:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x50): sprintf(t, "adc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:122:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x60): sprintf(t, "sbc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:123:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x70): sprintf(t, "merge"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:124:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0x71): sprintf(t, "bic r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:125:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x80): sprintf(t, "umult r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:126:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x90): sprintf(t, "sbk"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:127:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case4 (0x91): sprintf(t, "link #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:128:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x95): sprintf(t, "sex"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:129:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x96): sprintf(t, "div2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:130:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x97): sprintf(t, "ror"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:131:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case6 (0x98): sprintf(t, "ljmp r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:132:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9e): sprintf(t, "lob"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:133:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9f): sprintf(t, "lmult"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:134:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xa0): sprintf(t, "lms r%u,(#$%.4x)", op0 & 15, op1 << 1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:135:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xb0): sprintf(t, "from r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:136:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xc0): sprintf(t, "hib"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:137:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xc1): sprintf(t, "xor r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:138:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xd0): sprintf(t, "inc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:139:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xdf): sprintf(t, "getc"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:140:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xe0): sprintf(t, "dec r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:141:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xef): sprintf(t, "getbh"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:142:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xf0): sprintf(t, "lm r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:148:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char t[256] = "";
data/higan-106/higan/processor/gsu/disassembler.cpp:150:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x00): sprintf(t, "stop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:151:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x01): sprintf(t, "nop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:152:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x02): sprintf(t, "cache"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:153:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x03): sprintf(t, "lsr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:154:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x04): sprintf(t, "rol"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:155:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x05): sprintf(t, "bra %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:156:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x06): sprintf(t, "blt %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:157:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x07): sprintf(t, "bge %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:158:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x08): sprintf(t, "bne %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:159:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x09): sprintf(t, "beq %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:160:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0a): sprintf(t, "bpl %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:161:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0b): sprintf(t, "bmi %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:162:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0c): sprintf(t, "bcc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:163:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0d): sprintf(t, "bcs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:164:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0e): sprintf(t, "bvc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:165:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0f): sprintf(t, "bvs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:166:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x10): sprintf(t, "to r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:167:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x20): sprintf(t, "with r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:168:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x30): sprintf(t, "stw (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:169:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3c): sprintf(t, "loop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:170:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3d): sprintf(t, "alt1"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:171:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3e): sprintf(t, "alt2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:172:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3f): sprintf(t, "alt3"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:173:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x40): sprintf(t, "ldw (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:174:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4c): sprintf(t, "plot"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:175:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4d): sprintf(t, "swap"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:176:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4e): sprintf(t, "color"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:177:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4f): sprintf(t, "not"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:178:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x50): sprintf(t, "add #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:179:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x60): sprintf(t, "sub #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:180:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x70): sprintf(t, "merge"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:181:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0x71): sprintf(t, "and #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:182:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x80): sprintf(t, "mult #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:183:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x90): sprintf(t, "sbk"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:184:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case4 (0x91): sprintf(t, "link #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:185:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x95): sprintf(t, "sex"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:186:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x96): sprintf(t, "asr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:187:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x97): sprintf(t, "ror"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:188:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case6 (0x98): sprintf(t, "jmp r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:189:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9e): sprintf(t, "lob"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:190:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9f): sprintf(t, "fmult"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:191:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xa0): sprintf(t, "sms r%u,(#$%.4x)", op0 & 15, op1 << 1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:192:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xb0): sprintf(t, "from r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:193:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xc0): sprintf(t, "hib"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:194:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xc1): sprintf(t, "or #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:195:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xd0): sprintf(t, "inc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:196:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xdf): sprintf(t, "ramb"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:197:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xe0): sprintf(t, "dec r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:198:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xef): sprintf(t, "getbl"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:199:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xf0): sprintf(t, "sm r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:205:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char t[256] = "";
data/higan-106/higan/processor/gsu/disassembler.cpp:207:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x00): sprintf(t, "stop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:208:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x01): sprintf(t, "nop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:209:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x02): sprintf(t, "cache"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:210:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x03): sprintf(t, "lsr"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:211:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x04): sprintf(t, "rol"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:212:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x05): sprintf(t, "bra %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:213:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x06): sprintf(t, "blt %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:214:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x07): sprintf(t, "bge %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:215:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x08): sprintf(t, "bne %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:216:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x09): sprintf(t, "beq %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:217:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0a): sprintf(t, "bpl %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:218:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0b): sprintf(t, "bmi %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:219:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0c): sprintf(t, "bcc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:220:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0d): sprintf(t, "bcs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:221:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0e): sprintf(t, "bvc %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:222:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x0f): sprintf(t, "bvs %+d", (int8_t)op1); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:223:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x10): sprintf(t, "to r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:224:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x20): sprintf(t, "with r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:225:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x30): sprintf(t, "stb (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:226:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3c): sprintf(t, "loop"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:227:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3d): sprintf(t, "alt1"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:228:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3e): sprintf(t, "alt2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:229:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x3f): sprintf(t, "alt3"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:230:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case12(0x40): sprintf(t, "ldb (r%u)", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:231:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4c): sprintf(t, "rpix"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:232:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4d): sprintf(t, "swap"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:233:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4e): sprintf(t, "cmode"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:234:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x4f): sprintf(t, "not"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:235:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x50): sprintf(t, "adc #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:236:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x60): sprintf(t, "cmp r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:237:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x70): sprintf(t, "merge"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:238:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0x71): sprintf(t, "bic #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:239:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0x80): sprintf(t, "umult #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:240:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x90): sprintf(t, "sbk"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:241:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case4 (0x91): sprintf(t, "link #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:242:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x95): sprintf(t, "sex"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:243:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x96): sprintf(t, "div2"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:244:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x97): sprintf(t, "ror"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:245:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case6 (0x98): sprintf(t, "ljmp r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:246:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9e): sprintf(t, "lob"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:247:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0x9f): sprintf(t, "lmult"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:248:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xa0): sprintf(t, "lms r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:249:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xb0): sprintf(t, "from r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:250:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xc0): sprintf(t, "hib"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:251:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xc1): sprintf(t, "xor #%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:252:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xd0): sprintf(t, "inc r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:253:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xdf): sprintf(t, "romb"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:254:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case15(0xe0): sprintf(t, "dec r%u", op0 & 15); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:255:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case  (0xef): sprintf(t, "getbs"); break;
data/higan-106/higan/processor/gsu/disassembler.cpp:256:19:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    case16(0xf0): sprintf(t, "lm r%u", op0 & 15); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:150:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char t[256];
data/higan-106/higan/processor/wdc65816/disassembler.cpp:152:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x00: sprintf(t, "brk #$%.2x              ", op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:153:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x01: sprintf(t, "ora ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:154:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x02: sprintf(t, "cop #$%.2x              ", op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:155:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x03: sprintf(t, "ora $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:156:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x04: sprintf(t, "tsb $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:157:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x05: sprintf(t, "ora $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:158:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x06: sprintf(t, "asl $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:159:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x07: sprintf(t, "ora [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:160:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x08: sprintf(t, "php                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:161:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x09: if(a8)sprintf(t, "ora #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:162:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "ora #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:163:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0a: sprintf(t, "asl a                 "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:164:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0b: sprintf(t, "phd                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:165:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0c: sprintf(t, "tsb $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:166:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0d: sprintf(t, "ora $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:167:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0e: sprintf(t, "asl $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:168:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x0f: sprintf(t, "ora $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:169:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x10: sprintf(t, "bpl $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:170:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x11: sprintf(t, "ora ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:171:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x12: sprintf(t, "ora ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:172:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x13: sprintf(t, "ora ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:173:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x14: sprintf(t, "trb $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:174:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x15: sprintf(t, "ora $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:175:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x16: sprintf(t, "asl $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:176:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x17: sprintf(t, "ora [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:177:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x18: sprintf(t, "clc                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:178:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x19: sprintf(t, "ora $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:179:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1a: sprintf(t, "inc                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:180:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1b: sprintf(t, "tcs                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:181:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1c: sprintf(t, "trb $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:182:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1d: sprintf(t, "ora $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:183:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1e: sprintf(t, "asl $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:184:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x1f: sprintf(t, "ora $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:185:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x20: sprintf(t, "jsr $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR_PC, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:186:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x21: sprintf(t, "and ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:187:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x22: sprintf(t, "jsl $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:188:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x23: sprintf(t, "and $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:189:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x24: sprintf(t, "bit $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:190:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x25: sprintf(t, "and $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:191:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x26: sprintf(t, "rol $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:192:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x27: sprintf(t, "and [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:193:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x28: sprintf(t, "plp                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:194:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x29: if(a8)sprintf(t, "and #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:195:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "and #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:196:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2a: sprintf(t, "rol a                 "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:197:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2b: sprintf(t, "pld                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:198:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2c: sprintf(t, "bit $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:199:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2d: sprintf(t, "and $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:200:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2e: sprintf(t, "rol $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:201:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x2f: sprintf(t, "and $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:202:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x30: sprintf(t, "bmi $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:203:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x31: sprintf(t, "and ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:204:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x32: sprintf(t, "and ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:205:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x33: sprintf(t, "and ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:206:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x34: sprintf(t, "bit $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:207:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x35: sprintf(t, "and $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:208:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x36: sprintf(t, "rol $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:209:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x37: sprintf(t, "and [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:210:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x38: sprintf(t, "sec                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:211:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x39: sprintf(t, "and $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:212:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3a: sprintf(t, "dec                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:213:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3b: sprintf(t, "tsc                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:214:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3c: sprintf(t, "bit $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:215:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3d: sprintf(t, "and $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:216:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3e: sprintf(t, "rol $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:217:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x3f: sprintf(t, "and $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:218:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x40: sprintf(t, "rti                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:219:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x41: sprintf(t, "eor ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:220:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x42: sprintf(t, "wdm                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:221:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x43: sprintf(t, "eor $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:222:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x44: sprintf(t, "mvp $%.2x,$%.2x           ", op1, op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:223:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x45: sprintf(t, "eor $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:224:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x46: sprintf(t, "lsr $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:225:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x47: sprintf(t, "eor [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:226:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x48: sprintf(t, "pha                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:227:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x49: if(a8)sprintf(t, "eor #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:228:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "eor #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:229:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4a: sprintf(t, "lsr a                 "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:230:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4b: sprintf(t, "phk                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:231:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4c: sprintf(t, "jmp $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR_PC, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:232:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4d: sprintf(t, "eor $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:233:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4e: sprintf(t, "lsr $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:234:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x4f: sprintf(t, "eor $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:235:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x50: sprintf(t, "bvc $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:236:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x51: sprintf(t, "eor ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:237:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x52: sprintf(t, "eor ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:238:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x53: sprintf(t, "eor ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:239:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x54: sprintf(t, "mvn $%.2x,$%.2x           ", op1, op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:240:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x55: sprintf(t, "eor $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:241:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x56: sprintf(t, "lsr $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:242:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x57: sprintf(t, "eor [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:243:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x58: sprintf(t, "cli                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:244:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x59: sprintf(t, "eor $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:245:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5a: sprintf(t, "phy                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:246:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5b: sprintf(t, "tcd                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:247:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5c: sprintf(t, "jml $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:248:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5d: sprintf(t, "eor $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:249:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5e: sprintf(t, "lsr $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:250:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x5f: sprintf(t, "eor $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:251:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x60: sprintf(t, "rts                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:252:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x61: sprintf(t, "adc ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:253:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x62: sprintf(t, "per $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:254:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x63: sprintf(t, "adc $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:255:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x64: sprintf(t, "stz $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:256:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x65: sprintf(t, "adc $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:257:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x66: sprintf(t, "ror $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:258:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x67: sprintf(t, "adc [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:259:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x68: sprintf(t, "pla                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:260:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x69: if(a8)sprintf(t, "adc #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:261:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "adc #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:262:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6a: sprintf(t, "ror a                 "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:263:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6b: sprintf(t, "rtl                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:264:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6c: sprintf(t, "jmp ($%.4x)   [%.6x]", op16, decode(OPTYPE_IADDR_PC, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:265:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6d: sprintf(t, "adc $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:266:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6e: sprintf(t, "ror $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:267:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x6f: sprintf(t, "adc $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:268:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x70: sprintf(t, "bvs $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:269:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x71: sprintf(t, "adc ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:270:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x72: sprintf(t, "adc ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:271:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x73: sprintf(t, "adc ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:272:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x74: sprintf(t, "stz $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:273:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x75: sprintf(t, "adc $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:274:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x76: sprintf(t, "ror $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:275:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x77: sprintf(t, "adc [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:276:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x78: sprintf(t, "sei                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:277:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x79: sprintf(t, "adc $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:278:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7a: sprintf(t, "ply                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:279:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7b: sprintf(t, "tdc                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:280:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7c: sprintf(t, "jmp ($%.4x,x) [%.6x]", op16, decode(OPTYPE_IADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:281:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7d: sprintf(t, "adc $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:282:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7e: sprintf(t, "ror $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:283:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x7f: sprintf(t, "adc $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:284:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x80: sprintf(t, "bra $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:285:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x81: sprintf(t, "sta ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:286:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x82: sprintf(t, "brl $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELW, op16)), decode(OPTYPE_RELW, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:287:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x83: sprintf(t, "sta $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:288:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x84: sprintf(t, "sty $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:289:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x85: sprintf(t, "sta $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:290:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x86: sprintf(t, "stx $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:291:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x87: sprintf(t, "sta [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:292:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x88: sprintf(t, "dey                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:293:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x89: if(a8)sprintf(t, "bit #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:294:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "bit #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:295:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8a: sprintf(t, "txa                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:296:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8b: sprintf(t, "phb                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:297:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8c: sprintf(t, "sty $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:298:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8d: sprintf(t, "sta $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:299:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8e: sprintf(t, "stx $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:300:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x8f: sprintf(t, "sta $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:301:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x90: sprintf(t, "bcc $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:302:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x91: sprintf(t, "sta ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:303:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x92: sprintf(t, "sta ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:304:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x93: sprintf(t, "sta ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:305:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x94: sprintf(t, "sty $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:306:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x95: sprintf(t, "sta $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:307:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x96: sprintf(t, "stx $%.2x,y     [%.6x]", op8, decode(OPTYPE_DPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:308:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x97: sprintf(t, "sta [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:309:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x98: sprintf(t, "tya                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:310:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x99: sprintf(t, "sta $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:311:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9a: sprintf(t, "txs                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:312:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9b: sprintf(t, "txy                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:313:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9c: sprintf(t, "stz $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:314:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9d: sprintf(t, "sta $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:315:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9e: sprintf(t, "stz $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:316:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0x9f: sprintf(t, "sta $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:317:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa0: if(x8)sprintf(t, "ldy #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:318:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "ldy #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:319:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa1: sprintf(t, "lda ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:320:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa2: if(x8)sprintf(t, "ldx #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:321:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "ldx #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:322:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa3: sprintf(t, "lda $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:323:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa4: sprintf(t, "ldy $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:324:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa5: sprintf(t, "lda $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:325:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa6: sprintf(t, "ldx $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:326:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa7: sprintf(t, "lda [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:327:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa8: sprintf(t, "tay                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:328:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xa9: if(a8)sprintf(t, "lda #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:329:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "lda #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:330:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xaa: sprintf(t, "tax                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:331:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xab: sprintf(t, "plb                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:332:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xac: sprintf(t, "ldy $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:333:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xad: sprintf(t, "lda $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:334:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xae: sprintf(t, "ldx $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:335:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xaf: sprintf(t, "lda $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:336:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb0: sprintf(t, "bcs $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:337:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb1: sprintf(t, "lda ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:338:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb2: sprintf(t, "lda ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:339:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb3: sprintf(t, "lda ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:340:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb4: sprintf(t, "ldy $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:341:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb5: sprintf(t, "lda $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:342:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb6: sprintf(t, "ldx $%.2x,y     [%.6x]", op8, decode(OPTYPE_DPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:343:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb7: sprintf(t, "lda [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:344:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb8: sprintf(t, "clv                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:345:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xb9: sprintf(t, "lda $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:346:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xba: sprintf(t, "tsx                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:347:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xbb: sprintf(t, "tyx                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:348:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xbc: sprintf(t, "ldy $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:349:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xbd: sprintf(t, "lda $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:350:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xbe: sprintf(t, "ldx $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:351:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xbf: sprintf(t, "lda $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:352:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc0: if(x8)sprintf(t, "cpy #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:353:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "cpy #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:354:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc1: sprintf(t, "cmp ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:355:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc2: sprintf(t, "rep #$%.2x              ", op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:356:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc3: sprintf(t, "cmp $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:357:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc4: sprintf(t, "cpy $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:358:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc5: sprintf(t, "cmp $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:359:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc6: sprintf(t, "dec $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:360:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc7: sprintf(t, "cmp [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:361:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc8: sprintf(t, "iny                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:362:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xc9: if(a8)sprintf(t, "cmp #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:363:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "cmp #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:364:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xca: sprintf(t, "dex                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:365:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xcb: sprintf(t, "wai                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:366:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xcc: sprintf(t, "cpy $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:367:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xcd: sprintf(t, "cmp $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:368:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xce: sprintf(t, "dec $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:369:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xcf: sprintf(t, "cmp $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:370:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd0: sprintf(t, "bne $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:371:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd1: sprintf(t, "cmp ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:372:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd2: sprintf(t, "cmp ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:373:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd3: sprintf(t, "cmp ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:374:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd4: sprintf(t, "pei ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:375:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd5: sprintf(t, "cmp $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:376:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd6: sprintf(t, "dec $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:377:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd7: sprintf(t, "cmp [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:378:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd8: sprintf(t, "cld                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:379:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xd9: sprintf(t, "cmp $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:380:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xda: sprintf(t, "phx                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:381:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xdb: sprintf(t, "stp                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:382:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xdc: sprintf(t, "jmp [$%.4x]   [%.6x]", op16, decode(OPTYPE_ILADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:383:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xdd: sprintf(t, "cmp $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:384:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xde: sprintf(t, "dec $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:385:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xdf: sprintf(t, "cmp $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:386:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe0: if(x8)sprintf(t, "cpx #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:387:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "cpx #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:388:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe1: sprintf(t, "sbc ($%.2x,x)   [%.6x]", op8, decode(OPTYPE_IDPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:389:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe2: sprintf(t, "sep #$%.2x              ", op8); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:390:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe3: sprintf(t, "sbc $%.2x,s     [%.6x]", op8, decode(OPTYPE_SR, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:391:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe4: sprintf(t, "cpx $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:392:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe5: sprintf(t, "sbc $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:393:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe6: sprintf(t, "inc $%.2x       [%.6x]", op8, decode(OPTYPE_DP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:394:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe7: sprintf(t, "sbc [$%.2x]     [%.6x]", op8, decode(OPTYPE_ILDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:395:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe8: sprintf(t, "inx                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:396:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xe9: if(a8)sprintf(t, "sbc #$%.2x              ", op8);
data/higan-106/higan/processor/wdc65816/disassembler.cpp:397:20:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
             else  sprintf(t, "sbc #$%.4x            ", op16); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:398:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xea: sprintf(t, "nop                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:399:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xeb: sprintf(t, "xba                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:400:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xec: sprintf(t, "cpx $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:401:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xed: sprintf(t, "sbc $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:402:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xee: sprintf(t, "inc $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:403:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xef: sprintf(t, "sbc $%.6x   [%.6x]", op24, decode(OPTYPE_LONG, op24)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:404:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf0: sprintf(t, "beq $%.4x     [%.6x]", uint16_t(decode(OPTYPE_RELB, op8)), decode(OPTYPE_RELB, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:405:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf1: sprintf(t, "sbc ($%.2x),y   [%.6x]", op8, decode(OPTYPE_IDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:406:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf2: sprintf(t, "sbc ($%.2x)     [%.6x]", op8, decode(OPTYPE_IDP, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:407:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf3: sprintf(t, "sbc ($%.2x,s),y [%.6x]", op8, decode(OPTYPE_ISRY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:408:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf4: sprintf(t, "pea $%.4x     [%.6x]", op16, decode(OPTYPE_ADDR, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:409:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf5: sprintf(t, "sbc $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:410:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf6: sprintf(t, "inc $%.2x,x     [%.6x]", op8, decode(OPTYPE_DPX, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:411:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf7: sprintf(t, "sbc [$%.2x],y   [%.6x]", op8, decode(OPTYPE_ILDPY, op8)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:412:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf8: sprintf(t, "sed                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:413:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xf9: sprintf(t, "sbc $%.4x,y   [%.6x]", op16, decode(OPTYPE_ADDRY, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:414:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xfa: sprintf(t, "plx                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:415:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xfb: sprintf(t, "xce                   "); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:416:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xfc: sprintf(t, "jsr ($%.4x,x) [%.6x]", op16, decode(OPTYPE_IADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:417:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xfd: sprintf(t, "sbc $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:418:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xfe: sprintf(t, "inc $%.4x,x   [%.6x]", op16, decode(OPTYPE_ADDRX, op16)); break;
data/higan-106/higan/processor/wdc65816/disassembler.cpp:419:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  case 0xff: sprintf(t, "sbc $%.6x,x [%.6x]", op24, decode(OPTYPE_LONGX, op24)); break;
data/higan-106/higan/sfc/cartridge/cartridge.cpp:37:26:  [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(auto fp = platform->open(ID::SuperFamicom, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/cartridge.cpp:103:26:  [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(auto fp = platform->open(bsmemory.pathID, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/cartridge.cpp:111:26:  [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(auto fp = platform->open(sufamiturboA.pathID, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/cartridge.cpp:119:26:  [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(auto fp = platform->open(sufamiturboB.pathID, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:188:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["prom"]["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:191:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["drom"]["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:194:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["ram"]["name"].text(), File::Read)) {
data/higan-106/higan/sfc/cartridge/load.cpp:214:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["drom"]["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:217:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["dram"]["name"].text(), File::Read)) {
data/higan-106/higan/sfc/cartridge/load.cpp:245:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["prom"]["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:248:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["drom"]["name"].text(), File::Read, File::Required)) {
data/higan-106/higan/sfc/cartridge/load.cpp:251:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["dram"]["name"].text(), File::Read)) {
data/higan-106/higan/sfc/cartridge/load.cpp:263:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["ram"]["name"].text(), File::Read)) {
data/higan-106/higan/sfc/cartridge/load.cpp:276:26:  [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(auto fp = platform->open(ID::SuperFamicom, node["ram"]["name"].text(), File::Read)) {
data/higan-106/higan/sfc/cartridge/load.cpp:330:26:  [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(auto fp = platform->open(id(), name, File::Read, required)) {
data/higan-106/higan/sfc/cartridge/save.cpp:59:30:  [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(auto fp = platform->open(ID::SuperFamicom, name, File::Write)) {
data/higan-106/higan/sfc/cartridge/save.cpp:71:30:  [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(auto fp = platform->open(ID::SuperFamicom, name, File::Write)) {
data/higan-106/higan/sfc/cartridge/save.cpp:82:30:  [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(auto fp = platform->open(ID::SuperFamicom, name, File::Write)) {
data/higan-106/higan/sfc/cartridge/save.cpp:92:30:  [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(auto fp = platform->open(ID::SuperFamicom, name, File::Write)) {
data/higan-106/higan/sfc/cartridge/save.cpp:104:30:  [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(auto fp = platform->open(ID::SuperFamicom, name, File::Write)) {
data/higan-106/higan/sfc/cartridge/save.cpp:132:26:  [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(auto fp = platform->open(id(), name, File::Write)) {
data/higan-106/higan/sfc/coprocessor/msu1/msu1.cpp:78:27:  [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(dataFile = platform->open(ID::SuperFamicom, name, File::Read)) {
data/higan-106/higan/sfc/coprocessor/msu1/msu1.cpp:92:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(audioFile = platform->open(ID::SuperFamicom, name, File::Read)) {
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:49:11:  [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(link.open()) link.close();
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:84:35:  [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(addr == 0x21fe) return !link.open() ? 0 : (
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:87:11:  [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).
  | (link.open())              << 5  //1 = connected
data/higan-106/higan/sfc/smp/smp.cpp:27:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(ID::System, name, File::Read, File::Required)) {
data/higan-106/higan/sfc/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {};
data/higan-106/higan/sfc/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {};
data/higan-106/higan/sfc/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {};
data/higan-106/higan/sfc/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {};
data/higan-106/higan/sfc/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {};
data/higan-106/higan/sfc/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {};
data/higan-106/higan/sfc/system/serialization.cpp:82:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {};
data/higan-106/higan/sfc/system/serialization.cpp:83:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {};
data/higan-106/higan/sfc/system/serialization.cpp:84:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {};
data/higan-106/higan/sfc/system/system.cpp:28:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/target-tomoko/program/interface.cpp:5: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).
auto Program::open(uint id, string name, vfs::file::mode mode, bool required) -> vfs::shared::file {
data/higan-106/higan/target-tomoko/program/interface.cpp:9:35:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        return vfs::memory::file::open(manifest.output.data<uint8_t>(), manifest.output.size());
data/higan-106/higan/target-tomoko/program/interface.cpp:14:35:  [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(auto result = vfs::fs::file::open({path(id), name}, mode)) return result;
data/higan-106/higan/target-tomoko/program/program.hpp:9:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(uint id, string name, vfs::file::mode mode, bool required) -> vfs::shared::file override;
data/higan-106/higan/ws/cartridge/cartridge.cpp:59:26:  [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(auto fp = platform->open(pathID(), "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:72:43:  [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(rom.name) if(auto fp = platform->open(pathID(), rom.name, File::Read, File::Required)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:86:45:  [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(ram.name) if(auto fp = platform->open(pathID(), ram.name, File::Read)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:97:50:  [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(eeprom.name()) if(auto fp = platform->open(pathID(), eeprom.name(), File::Read)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:111:43:  [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(rtc.name) if(auto fp = platform->open(pathID(), rtc.name, File::Read)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:127:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:133:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/ws/cartridge/cartridge.cpp:139:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(pathID(), name, File::Write)) {
data/higan-106/higan/ws/system/serialization.cpp:5:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ws/system/serialization.cpp:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ws/system/serialization.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ws/system/serialization.cpp:22:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ws/system/serialization.cpp:23:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ws/system/serialization.cpp:24:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ws/system/serialization.cpp:39:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char version[16] = {0};
data/higan-106/higan/ws/system/serialization.cpp:40:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char hash[64] = {0};
data/higan-106/higan/ws/system/serialization.cpp:41:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char description[512] = {0};
data/higan-106/higan/ws/system/system.cpp:22:26:  [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(auto fp = platform->open(ID::System, "manifest.bml", File::Read, File::Required)) {
data/higan-106/higan/ws/system/system.cpp:36:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(auto fp = platform->open(ID::System, eeprom.name(), File::Read)) {
data/higan-106/hiro/cocoa/browser-window.cpp:23: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).
auto pBrowserWindow::open(BrowserWindow::State& state) -> string {
data/higan-106/hiro/cocoa/browser-window.hpp:7: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).
  static auto open(BrowserWindow::State& state) -> string;
data/higan-106/hiro/core/browser-window.cpp:7:21:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
auto BrowserWindow::open() -> string {
data/higan-106/hiro/core/browser-window.cpp:8:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  return pBrowserWindow::open(state);
data/higan-106/hiro/core/core.hpp:490:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open() -> string;
data/higan-106/hiro/gtk/application.cpp:51:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(argv[0], "hiro");
data/higan-106/hiro/gtk/application.cpp:57:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(argv[0], "hiro");
data/higan-106/hiro/gtk/application.cpp:58:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(argv[1], "--g-fatal-warnings");
data/higan-106/hiro/gtk/browser-window.cpp:40: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).
auto pBrowserWindow::open(BrowserWindow::State& state) -> string {
data/higan-106/hiro/gtk/browser-window.hpp:7: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).
  static auto open(BrowserWindow::State& state) -> string;
data/higan-106/hiro/gtk/keyboard.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char state[256];
data/higan-106/hiro/gtk/keyboard.cpp:18:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char state[256];
data/higan-106/hiro/gtk/widget/combo-edit.cpp:27:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  int devNull = open("/dev/null", 0);
data/higan-106/hiro/qt/application.cpp:46:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(argv[0], "hiro");
data/higan-106/hiro/qt/browser-window.cpp:18: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).
auto pBrowserWindow::open(BrowserWindow::State& state) -> string {
data/higan-106/hiro/qt/browser-window.hpp:7: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).
  static auto open(BrowserWindow::State& state) -> string;
data/higan-106/hiro/qt/keyboard.cpp:7:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char state[256];
data/higan-106/hiro/qt/keyboard.cpp:16:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char state[256];
data/higan-106/hiro/reference/browser-window.cpp:7:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
string pBrowserWindow::open(BrowserWindow::State& state) {
data/higan-106/hiro/reference/browser-window.hpp:5:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  static string open(BrowserWindow::State& state);
data/higan-106/hiro/windows/browser-window.cpp:31:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t wname[PATH_MAX + 1] = L"";
data/higan-106/hiro/windows/browser-window.cpp:68:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t wname[PATH_MAX + 1] = L"";
data/higan-106/hiro/windows/browser-window.cpp:99: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).
auto pBrowserWindow::open(BrowserWindow::State& state) -> string {
data/higan-106/hiro/windows/browser-window.hpp:7: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).
  static auto open(BrowserWindow::State& state) -> string;
data/higan-106/hiro/windows/widget/label.cpp:56:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t text[length + 1];
data/higan-106/hiro/windows/widget/line-edit.cpp:53:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t text[length + 1];
data/higan-106/hiro/windows/widget/text-edit.cpp:61:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t buffer[length + 1];
data/higan-106/icarus/core/core.cpp:76: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(!zip.open(location)) return failure("ZIP archive is invalid");
data/higan-106/icarus/heuristics/game-boy-advance.cpp:30:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
          char text[16];
data/higan-106/icarus/heuristics/game-boy-advance.cpp:31:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(text, data + n, id.size + 3);
data/higan-106/libco/amd64.c:23:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static const unsigned char co_swap_function[4096] = {
data/higan-106/libco/amd64.c:82:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static const unsigned char co_swap_function[4096] = {
data/higan-106/libco/ppc.c:268:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(t, (void*)entry, sizeof(void*) * 3);  /* copy entry's descriptor */
data/higan-106/libco/x86.c:30:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char co_swap_function[4096] = {
data/higan-106/nall/arithmetic/natural.hpp:317:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char _output[1 + sizeof(Pair) * 3];
data/higan-106/nall/arithmetic/natural.hpp:332:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[1 + sizeof(Pair) * 3];
data/higan-106/nall/beat/delta.hpp:50:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/delta.hpp:56:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(targetFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/delta.hpp:63:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(modifyFile.open(filename, file::mode::write) == false) return false;
data/higan-106/nall/beat/linear.hpp:42:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/linear.hpp:48:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(targetFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/linear.hpp:55:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(modifyFile.open(filename, file::mode::write) == false) return false;
data/higan-106/nall/beat/metadata.hpp:21:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(sourceFile.open(filename, file::mode::read) == false) return false;
data/higan-106/nall/beat/metadata.hpp:46:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char data[metadataSize + 1];
data/higan-106/nall/beat/metadata.hpp:56:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(targetFile.open(filename, file::mode::write) == false) return false;
data/higan-106/nall/beat/metadata.hpp:57:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(sourceFile.open() == false) return false;
data/higan-106/nall/beat/multi.hpp:23:11:  [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(fp.open()) fp.close();
data/higan-106/nall/beat/multi.hpp:24:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp.open(patchName, file::mode::write);
data/higan-106/nall/beat/multi.hpp:42: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).
        sp.open({sourcePath, targetName}, file::mode::read);
data/higan-106/nall/beat/multi.hpp:43: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).
        dp.open({targetPath, targetName}, file::mode::read);
data/higan-106/nall/beat/multi.hpp:100:11:  [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(fp.open()) fp.close();
data/higan-106/nall/beat/multi.hpp:101:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp.open(patchName, file::mode::read);
data/higan-106/nall/beat/multi.hpp:118: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).
        fp.open({targetPath, targetName}, file::mode::write);
data/higan-106/nall/beat/patch.hpp:79:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[modifyMarkupSize + 1];
data/higan-106/nall/beat/patch.hpp:98:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(modifyFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/patch.hpp:103:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/patch.hpp:110:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(fp.open(filename, file::mode::write) == false) return false;
data/higan-106/nall/beat/patch.hpp:114:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if(targetFile.open(filename, filemap::mode::readwrite) == false) return false;
data/higan-106/nall/database/odbc.hpp:229:5:  [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(database, username, password);
data/higan-106/nall/database/odbc.hpp:242:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& database, const string& username, const string& password) -> bool {
data/higan-106/nall/database/sqlite3.hpp:153:37:  [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).
  SQLite3(const string& filename) { open(filename); }
data/higan-106/nall/database/sqlite3.hpp:158:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& filename) -> bool {
data/higan-106/nall/decode/gzip.hpp:56:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[PATH_MAX];
data/higan-106/nall/decode/png.hpp:129: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(compressedData + compressedSize, sourceData + offset + 8, length);
data/higan-106/nall/decode/zip.hpp:24:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& filename) -> bool {
data/higan-106/nall/decode/zip.hpp:26:11:  [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(fm.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/decode/zip.hpp:27:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(open(fm.data(), fm.size()) == false) {
data/higan-106/nall/decode/zip.hpp:34:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const uint8_t* data, uint size) -> bool {
data/higan-106/nall/decode/zip.hpp:68: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(filename, directory + 46, namelength);
data/higan-106/nall/decode/zip.hpp:91: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(buffer.data(), file.data, file.size);
data/higan-106/nall/decode/zip.hpp:105:11:  [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(fm.open()) fm.close();
data/higan-106/nall/directory.hpp:106:7:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      wchar_t drives[PATH_MAX] = {0};
data/higan-106/nall/dl.hpp:27:43:  [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).
  explicit operator bool() const { return open(); }
data/higan-106/nall/dl.hpp:28:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open() const -> bool { return handle; }
data/higan-106/nall/dl.hpp:29:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string&, const string& = "") -> bool;
data/higan-106/nall/dl.hpp:39: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).
inline auto library::open(const string& name, const string& path) -> bool {
data/higan-106/nall/dl.hpp:65: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).
inline auto library::open(const string& name, const string& path) -> bool {
data/higan-106/nall/dl.hpp:91: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).
inline auto library::open(const string& name, const string& path) -> bool {
data/higan-106/nall/dl.hpp:121: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).
inline auto library::open(const string&, const string&) -> bool { return false; }
data/higan-106/nall/emulation/21fx.hpp:20:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(string_vector& args) -> bool;
data/higan-106/nall/emulation/21fx.hpp:38: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).
auto FX::open(string_vector& args) -> bool {
data/higan-106/nall/emulation/21fx.hpp:48: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).
  if(!device.open(name)) {
data/higan-106/nall/encode/base64.hpp:9:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char lookup[65];
data/higan-106/nall/encode/zip.hpp:12:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp.open(filename, file::mode::write);
data/higan-106/nall/file.hpp:20:11:  [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(rd.open(sourcename, mode::read) == false) return false;
data/higan-106/nall/file.hpp:21:11:  [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(wr.open(targetname, mode::write) == false) return false;
data/higan-106/nall/file.hpp:78:11:  [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(fp.open(filename, mode::read)) {
data/higan-106/nall/file.hpp:87:11:  [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(fp.open(filename, mode::read) == false) return false;
data/higan-106/nall/file.hpp:103:11:  [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(fp.open(filename, mode::write) == false) return false;
data/higan-106/nall/file.hpp:112:11:  [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(fp.open(filename, mode::write) == false) return false;
data/higan-106/nall/file.hpp:246:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open() const -> bool {
data/higan-106/nall/file.hpp:251: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).
    return open();
data/higan-106/nall/file.hpp:254:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& filename, mode mode_) -> bool {
data/higan-106/nall/file.hpp:259:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    case mode::read:      fp = fopen(filename, "rb" ); break;
data/higan-106/nall/file.hpp:260:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    case mode::write:     fp = fopen(filename, "wb+"); break;  //need read permission for buffering
data/higan-106/nall/file.hpp:261:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    case mode::readwrite: fp = fopen(filename, "rb+"); break;
data/higan-106/nall/file.hpp:262:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    case mode::writeread: fp = fopen(filename, "wb+"); break;
data/higan-106/nall/file.hpp:291:5:  [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(filename, mode_);
data/higan-106/nall/file.hpp:300:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[buffer_size] = {0};
data/higan-106/nall/filemap.hpp:28:43:  [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).
  explicit operator bool() const { return open(); }
data/higan-106/nall/filemap.hpp:29:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open() const -> bool { return p_open(); }
data/higan-106/nall/filemap.hpp:30:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& filename, mode mode_) -> bool { return p_open(filename, mode_); }
data/higan-106/nall/filemap.hpp:173: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).
    p_fd = ::open(filename, open_flags, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
data/higan-106/nall/http/client.hpp:8: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).
  inline auto open(const string& hostname, uint port = 80) -> bool;
data/higan-106/nall/http/client.hpp:19: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).
auto Client::open(const string& hostname, uint port) -> bool {
data/higan-106/nall/http/server.hpp:9: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).
  inline auto open(uint port = 8080, const string& serviceName = "", const string& command = "") -> bool;
data/higan-106/nall/http/server.hpp:34: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).
auto Server::open(uint port, const string& serviceName, const string& command) -> bool {
data/higan-106/nall/inode.hpp:61:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    int fd = open(name, O_CREAT | O_EXCL, permissions);
data/higan-106/nall/path.hpp:8:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[PATH_MAX] = "";
data/higan-106/nall/path.hpp:19:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[PATH_MAX] = "";
data/higan-106/nall/path.hpp:29:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:45:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:59:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:76:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:100:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:119:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/path.hpp:137:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t path[PATH_MAX] = L"";
data/higan-106/nall/platform.hpp:74:57:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  inline auto getcwd(char* buf, size_t size) -> char* { wchar_t wpath[PATH_MAX] = L""; if(!_wgetcwd(wpath, size)) return nullptr; strcpy(buf, nall::utf8_t(wpath)); return buf; }
data/higan-106/nall/platform.hpp:78:79:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  inline auto realpath(const char* file_name, char* resolved_name) -> char* { wchar_t wfile_name[PATH_MAX] = L""; if(!_wfullpath(wfile_name, nall::utf16_t(file_name), PATH_MAX)) return nullptr; strcpy(resolved_name, nall::utf8_t(wfile_name)); return resolved_name; }
data/higan-106/nall/posix/service.hpp:36: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(shared.open(name, 4096)) {
data/higan-106/nall/posix/shared-memory.hpp:97:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& name, unsigned size) -> bool {
data/higan-106/nall/run.hpp:58:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[256];
data/higan-106/nall/run.hpp:158:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[256];
data/higan-106/nall/serial.hpp:63:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(string device, uint rate = 0) -> bool {
data/higan-106/nall/serial.hpp:67: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).
    port = ::open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_NONBLOCK);
data/higan-106/nall/serializer.hpp:113:5:  [2] (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, s._data, s._capacity);
data/higan-106/nall/serializer.hpp:145:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(_data, data, capacity);
data/higan-106/nall/smtp.hpp:100:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(buffer.data(), data, size);
data/higan-106/nall/string.hpp:94:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char _text[SSO];
data/higan-106/nall/string.hpp:113:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char _text[SSO];
data/higan-106/nall/string/allocator/adaptive.hpp:97:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _temp[SSO];
data/higan-106/nall/string/allocator/small-string-optimization.hpp:51:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char _temp[SSO];
data/higan-106/nall/string/cast.hpp:30:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2];
data/higan-106/nall/string/cast.hpp:39:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[2 + sizeof(signed char) * 3];
data/higan-106/nall/string/cast.hpp:46:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(signed short) * 3];
data/higan-106/nall/string/cast.hpp:53:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(signed int) * 3];
data/higan-106/nall/string/cast.hpp:60:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(signed long) * 3];
data/higan-106/nall/string/cast.hpp:67:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(signed long long) * 3];
data/higan-106/nall/string/cast.hpp:75:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(int128_t) * 3];
data/higan-106/nall/string/cast.hpp:83:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[2 + sizeof(int64_t) * 3];
data/higan-106/nall/string/cast.hpp:92:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[1 + sizeof(unsigned char) * 3];
data/higan-106/nall/string/cast.hpp:99:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[1 + sizeof(unsigned short) * 3];
data/higan-106/nall/string/cast.hpp:106:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[1 + sizeof(unsigned int) * 3];
data/higan-106/nall/string/cast.hpp:113:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[1 + sizeof(unsigned long) * 3];
data/higan-106/nall/string/cast.hpp:120:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[1 + sizeof(unsigned long long) * 3];
data/higan-106/nall/string/cast.hpp:128:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char _data[1 + sizeof(uint128_t) * 3];
data/higan-106/nall/string/cast.hpp:136:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[1 + sizeof(uint64_t) * 3];
data/higan-106/nall/string/cast.hpp:145:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[256];
data/higan-106/nall/string/cast.hpp:152:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[256];
data/higan-106/nall/string/cast.hpp:159:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[256];
data/higan-106/nall/string/cast.hpp:166:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[256];
data/higan-106/nall/string/utility.hpp:7:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  FILE* fp = fopen(filename, "rb");
data/higan-106/nall/string/utility.hpp:99:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[1 + sizeof(T) * 3];
data/higan-106/nall/string/utility.hpp:115:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[1 + sizeof(T) * 3];
data/higan-106/nall/string/utility.hpp:133:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[256];
data/higan-106/nall/string/utility.hpp:136:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(buffer, "%f", (double)value);
data/higan-106/nall/string/utility.hpp:138:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(buffer, "%Lf", (long double)value);
data/higan-106/nall/vfs/fs/file.hpp:8: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).
  static auto open(string location_, mode mode_) -> vfs::shared::file {
data/higan-106/nall/vfs/fs/file.hpp:44: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(!_fp.open(location_, (nall::file::mode)mode_)) return false;
data/higan-106/nall/vfs/memory/file.hpp:8: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).
  static auto open(const uint8_t* data, uintmax size) -> vfs::shared::file {
data/higan-106/nall/windows/guid.hpp:11:3:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  wchar_t guidString[39];
data/higan-106/nall/windows/launcher.hpp:43:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(entryHook + 14, buffer, 2 * wcslen(buffer) + 2);
data/higan-106/nall/windows/registry.hpp:32:7:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      wchar_t data[NWR_SIZE] = L"";
data/higan-106/nall/windows/registry.hpp:47:7:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      wchar_t data[NWR_SIZE] = L"";
data/higan-106/nall/windows/registry.hpp:92:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t name[NWR_SIZE] = L"";
data/higan-106/nall/windows/registry.hpp:98:9:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        wchar_t name[NWR_SIZE] = L"";
data/higan-106/nall/windows/shared-memory.hpp:23:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto open(const string& name, uint size) -> bool { return false; }
data/higan-106/nall/windows/utf8.hpp:29:21:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
      uint length = MultiByteToWideChar(CP_UTF8, 0, s, -1, nullptr, 0);
data/higan-106/nall/windows/utf8.hpp:31:7:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
      MultiByteToWideChar(CP_UTF8, 0, s, -1, buffer, length);
data/higan-106/ruby/audio/asio.hpp:67:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[32];
data/higan-106/ruby/audio/asio.hpp:75:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[32];
data/higan-106/ruby/audio/asio.hpp:84:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char reserved[12];
data/higan-106/ruby/audio/asio.hpp:99:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char future[64];
data/higan-106/ruby/audio/oss.cpp:93:11:  [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(_device, O_WRONLY, O_NONBLOCK);
data/higan-106/ruby/input/joypad/udev.cpp:200: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).
    jp.fd = open(deviceNode, O_RDWR | O_NONBLOCK);
data/higan-106/ruby/input/keyboard/xlib.cpp:27:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char state[32];
data/higan-106/ruby/input/mouse/xlib.cpp:123: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 invisibleData[8] = {0};
data/higan-106/ruby/input/shared/rawinput.cpp:40:7:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      wchar_t path[4096];
data/higan-106/ruby/video/opengl/utility.hpp:73:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char text[length + 1];
data/higan-106/ruby/video/opengl/utility.hpp:90:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char text[length + 1];
data/higan-106/ruby/video/opengl/utility.hpp:101:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char text[length + 1];
data/higan-106/ruby/video/sdl.cpp:86:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char env[512];
data/higan-106/ruby/video/sdl.cpp:87:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(env, "SDL_WINDOWID=%ld", (long)_context);
data/higan-106/higan/audio/audio.cpp:71:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint length = stream->read(buffer), offset = 0;
data/higan-106/higan/audio/audio.hpp:60:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(double samples[]) -> uint;
data/higan-106/higan/audio/stream.cpp:52:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Stream::read(double samples[]) -> uint {
data/higan-106/higan/audio/stream.cpp:53:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto c : range(channels)) samples[c] = channels[c].resampler.read();
data/higan-106/higan/fc/cartridge/board/bandai-fcg.cpp:31:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return prgrom.read((bank << 14) | (addr & 0x3fff));
data/higan-106/higan/fc/cartridge/board/board.cpp:46:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(prgrom.data, min(prgrom.size, fp->size()));
data/higan-106/higan/fc/cartridge/board/board.cpp:51:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(prgram.data, min(prgram.size, fp->size()));
data/higan-106/higan/fc/cartridge/board/board.cpp:56:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(chrrom.data, min(chrrom.size, fp->size()));
data/higan-106/higan/fc/cartridge/board/board.cpp:61:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(chrram.data, min(chrram.size, fp->size()));
data/higan-106/higan/fc/cartridge/board/board.cpp:85:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Board::Memory::read(uint addr) const -> uint8 {
data/higan-106/higan/fc/cartridge/board/board.hpp:7:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    inline auto read(uint addr) const -> uint8;
data/higan-106/higan/fc/cartridge/board/konami-vrc1.cpp:6:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(vrc1.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc2.cpp:10:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read(vrc2.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc3.cpp:11:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if((addr & 0xe000) == 0x6000) return prgram.read(addr & 0x1fff);
data/higan-106/higan/fc/cartridge/board/konami-vrc3.cpp:12:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(vrc3.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc3.cpp:26:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return chrram.read(addr);
data/higan-106/higan/fc/cartridge/board/konami-vrc4.cpp:13:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr < 0x8000) return prgram.read(addr);
data/higan-106/higan/fc/cartridge/board/konami-vrc4.cpp:14:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read(vrc4.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc6.cpp:7:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(vrc6.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc7.cpp:11:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr < 0x8000) return prgram.read(addr);
data/higan-106/higan/fc/cartridge/board/konami-vrc7.cpp:12:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read(vrc7.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/konami-vrc7.cpp:23:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return chrram.read(vrc7.addrCHR(addr));
data/higan-106/higan/fc/cartridge/board/nes-axrom.cpp:11:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read((prgBank << 15) | (addr & 0x7fff));
data/higan-106/higan/fc/cartridge/board/nes-bnrom.cpp:9:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read((prgBank << 15) | (addr & 0x7fff));
data/higan-106/higan/fc/cartridge/board/nes-cnrom.cpp:9:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(addr & 0x7fff);
data/higan-106/higan/fc/cartridge/board/nes-fxrom.cpp:10:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr < 0x8000) return prgram.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-fxrom.cpp:12:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read((bank * 0x4000) | (addr & 0x3fff));
data/higan-106/higan/fc/cartridge/board/nes-gxrom.cpp:10:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read((prgBank << 15) | (addr & 0x7fff));
data/higan-106/higan/fc/cartridge/board/nes-hkrom.cpp:11:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(mmc6.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/nes-nrom.cpp:10:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-nrom.cpp:22:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(chrram.size) return chrram.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-nrom.cpp:23:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return chrrom.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-pxrom.cpp:10:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr < 0x8000) return prgram.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-pxrom.cpp:18:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read((bank * 0x2000) | (addr & 0x1fff));
data/higan-106/higan/fc/cartridge/board/nes-sxrom.cpp:24:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return prgram.read(addrRAM(addr));
data/higan-106/higan/fc/cartridge/board/nes-sxrom.cpp:32:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return prgrom.read(addr);
data/higan-106/higan/fc/cartridge/board/nes-txrom.cpp:12:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr & 0x8000) return prgrom.read(mmc3.addrPRG(addr));
data/higan-106/higan/fc/cartridge/board/nes-uxrom.cpp:10:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if((addr & 0xc000) == 0x8000) return prgrom.read((prgBank << 14) | (addr & 0x3fff));
data/higan-106/higan/fc/cartridge/board/nes-uxrom.cpp:11:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if((addr & 0xc000) == 0xc000) return prgrom.read((   0x0f << 14) | (addr & 0x3fff));
data/higan-106/higan/fc/cartridge/board/sunsoft-5b.cpp:81:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return prgrom.read(addr);
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:51:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return board.prgrom.read((bank << 13) | addr);
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:53:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return board.prgram.read((bank << 13) | addr);
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:294:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return board.chrrom.read(chrActive ? chrBGAddr(addr) : chrSpriteAddr(addr));
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:317:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(vsFetch) result = board.chrrom.read(chrVSAddr(addr));
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:318:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      else if(sprite8x16 ? bgFetch : chrActive) result = board.chrrom.read(chrBGAddr(addr));
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:319:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      else result = board.chrrom.read(chrSpriteAddr(addr));
data/higan-106/higan/fc/cartridge/chip/mmc5.cpp:320:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(bgFetch && exramMode == 1) result = board.chrrom.read(exbank * 0x1000 + (addr & 0x0fff));
data/higan-106/higan/fc/cartridge/chip/mmc6.cpp:68:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return board.prgram.read((region * 0x0200) + (addr & 0x01ff));
data/higan-106/higan/fc/cartridge/chip/vrc2.cpp:36:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return board.prgram.read(addr & 0x1fff);
data/higan-106/higan/fc/cpu/cpu.cpp:38:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.pc.byte(0) = bus.read(0xfffc);
data/higan-106/higan/fc/cpu/cpu.cpp:39:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.pc.byte(1) = bus.read(0xfffd);
data/higan-106/higan/fc/cpu/cpu.hpp:23:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8 override;
data/higan-106/higan/fc/cpu/memory.cpp:48:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(addr);
data/higan-106/higan/fc/cpu/timing.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint16 addr) -> uint8 {
data/higan-106/higan/fc/cpu/timing.cpp:4:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(addr);
data/higan-106/higan/fc/cpu/timing.cpp:9:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r.mdr = bus.read(io.rdyAddrValid ? io.rdyAddrValue : addr);
data/higan-106/higan/fc/cpu/timing.cpp:13:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.mdr = bus.read(addr);
data/higan-106/higan/fc/cpu/timing.cpp:36:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint8 data = read(io.oamdmaPage << 8 | n);
data/higan-106/higan/fc/memory/memory.cpp:14:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Bus::read(uint16 addr) -> uint8 {
data/higan-106/higan/fc/memory/memory.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/apu.cpp:76:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff10 && addr <= 0xff14) return square1.read(addr);
data/higan-106/higan/gb/apu/apu.cpp:77:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff15 && addr <= 0xff19) return square2.read(addr);
data/higan-106/higan/gb/apu/apu.cpp:78:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff1a && addr <= 0xff1e) return wave.read(addr);
data/higan-106/higan/gb/apu/apu.cpp:79:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff1f && addr <= 0xff23) return noise.read(addr);
data/higan-106/higan/gb/apu/apu.cpp:80:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff24 && addr <= 0xff26) return sequencer.read(addr);
data/higan-106/higan/gb/apu/apu.cpp:81:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xff30 && addr <= 0xff3f) return wave.read(addr);
data/higan-106/higan/gb/apu/apu.hpp:22:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/apu.hpp:60:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/apu.hpp:89:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/apu.hpp:118:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/apu.hpp:144:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/apu/noise.cpp:39:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Noise::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/apu/sequencer.cpp:40:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Sequencer::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/apu/square1.cpp:63:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Square1::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/apu/square2.cpp:37:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Square2::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/apu/wave.cpp:27:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Wave::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/cartridge/cartridge.cpp:71:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(rom.data, min(rom.size, fp->size()));
data/higan-106/higan/gb/cartridge/cartridge.cpp:79:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(ram.data, min(ram.size, fp->size()));
data/higan-106/higan/gb/cartridge/cartridge.cpp:87:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(rtc.data, min(rtc.size, fp->size()));
data/higan-106/higan/gb/cartridge/cartridge.cpp:132:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return mapper->read(addr);
data/higan-106/higan/gb/cartridge/cartridge.cpp:158:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::Memory::read(uint address) const -> uint8 {
data/higan-106/higan/gb/cartridge/cartridge.hpp:27:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint address) const -> uint8;
data/higan-106/higan/gb/cartridge/cartridge.hpp:39:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual auto read(uint16 address) -> uint8 = 0;
data/higan-106/higan/gb/cartridge/huc1/huc1.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::HuC1::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/huc1/huc1.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/huc1/huc1.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/huc1/huc1.cpp:11:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/huc1/huc1.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/huc3/huc3.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::HuC3::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/huc3/huc3.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/huc3/huc3.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/huc3/huc3.cpp:12:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/huc3/huc3.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc0/mbc0.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC0::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc0/mbc0.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,14));
data/higan-106/higan/gb/cartridge/mbc0/mbc0.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc0/mbc0.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC1::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:8:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.rom.read(io.ram.bank << 19 | io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:10:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:17:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.ram.read(address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc1/mbc1.cpp:19:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc1/mbc1.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp:1:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC1M::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp:3:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(io.mode == 0) return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp:4:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank.bits(4,5) << 18 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp:8:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.cpp:12:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc1m/mbc1m.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC2::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:12:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto ram = cartridge.ram.read(address.bits(1,8));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:18:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto ram = cartridge.ram.read(address.bits(1,8));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:39:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto ram = cartridge.ram.read(address.bits(1,8));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.cpp:47:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto ram = cartridge.ram.read(address.bits(1,8));
data/higan-106/higan/gb/cartridge/mbc2/mbc2.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc3/mbc3.cpp:17:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC3::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc3/mbc3.cpp:19:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc3/mbc3.cpp:23:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc3/mbc3.cpp:28:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(io.ram.bank <= 0x03) return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc3/mbc3.hpp:3:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc5/mbc5.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC5::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc5/mbc5.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc5/mbc5.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc5/mbc5.cpp:12:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc5/mbc5.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC6::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank[0] << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:11:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank[1] << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:16:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(io.ram.bank[0] << 12 | address.bits(0,11));
data/higan-106/higan/gb/cartridge/mbc6/mbc6.cpp:21:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.ram.read(io.ram.bank[1] << 12 | address.bits(0,11));
data/higan-106/higan/gb/cartridge/mbc6/mbc6.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mbc7/mbc7.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MBC7::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mbc7/mbc7.cpp:3:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc7/mbc7.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/mbc7/mbc7.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp:1:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MMM01::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp:4:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.rom.read(cartridge.rom.size - 0x8000 + address.bits(0,14));
data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp:10:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.rom.read((io.rom.base << 14) + address.bits(0,13));
data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp:14:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.rom.read((io.rom.base << 14) + (io.rom.bank << 14) + address.bits(0,13));
data/higan-106/higan/gb/cartridge/mmm01/mmm01.cpp:19:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return cartridge.ram.read(io.ram.bank << 13 | address.bits(0,12));
data/higan-106/higan/gb/cartridge/mmm01/mmm01.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cartridge/tama/tama.cpp:49:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::TAMA::read(uint16 address) -> uint8 {
data/higan-106/higan/gb/cartridge/tama/tama.cpp:51:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(address.bits(0,13));
data/higan-106/higan/gb/cartridge/tama/tama.cpp:55:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.rom.read(io.rom.bank << 14 | address.bits(0,13));
data/higan-106/higan/gb/cartridge/tama/tama.cpp:133:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        io.output = cartridge.ram.read(io.index);
data/higan-106/higan/gb/cartridge/tama/tama.hpp:3:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 address) -> uint8;
data/higan-106/higan/gb/cpu/cpu.hpp:21:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8 override;
data/higan-106/higan/gb/cpu/memory.cpp:6:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/cpu/memory.cpp:9:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(addr);
data/higan-106/higan/gb/cpu/memory.cpp:27:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr < 0x8000) return bus.read(addr);  //0000-7fff
data/higan-106/higan/gb/cpu/memory.cpp:29:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr < 0xe000) return bus.read(addr);  //a000-dfff
data/higan-106/higan/gb/cpu/memory.cpp:40:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(addr);
data/higan-106/higan/gb/memory/memory.cpp:38:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Bus::read(uint16 addr) -> uint8 {
data/higan-106/higan/gb/memory/memory.hpp:24:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8;
data/higan-106/higan/gb/ppu/ppu.cpp:93:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          oam[hi - 1] = bus.read(status.dmaBank << 8 | hi - 1);
data/higan-106/higan/gb/system/system.cpp:36:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(bootROM.dmg, 256);
data/higan-106/higan/gb/system/system.cpp:49:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(bootROM.cgb, 2048);
data/higan-106/higan/gb/system/system.cpp:62:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(bootROM.sgb, 256);
data/higan-106/higan/gba/apu/apu.hpp:71:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) const -> uint8;
data/higan-106/higan/gba/apu/apu.hpp:77:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) const -> uint8;
data/higan-106/higan/gba/apu/apu.hpp:102:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) const -> uint8;
data/higan-106/higan/gba/apu/apu.hpp:128:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) const -> uint8;
data/higan-106/higan/gba/apu/apu.hpp:151:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) const -> uint8;
data/higan-106/higan/gba/apu/apu.hpp:171:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read() -> void;
data/higan-106/higan/gba/apu/fifo.cpp:5:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::FIFO::read() -> void {
data/higan-106/higan/gba/apu/io.cpp:10:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0063: return square1.read(2);
data/higan-106/higan/gba/apu/io.cpp:14:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0065: return square1.read(4);
data/higan-106/higan/gba/apu/io.cpp:22:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0069: return square2.read(2);
data/higan-106/higan/gba/apu/io.cpp:26:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'006d: return square2.read(4);
data/higan-106/higan/gba/apu/io.cpp:38:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0073: return wave.read(2);
data/higan-106/higan/gba/apu/io.cpp:42:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0075: return wave.read(4);
data/higan-106/higan/gba/apu/io.cpp:50:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0079: return noise.read(2);
data/higan-106/higan/gba/apu/io.cpp:58:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'007d: return noise.read(4);
data/higan-106/higan/gba/apu/io.cpp:66:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0x0400'0081: return sequencer.read(1);
data/higan-106/higan/gba/apu/noise.cpp:33:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Noise::read(uint addr) const -> uint8 {
data/higan-106/higan/gba/apu/sequencer.cpp:51:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Sequencer::read(uint addr) const -> uint8 {
data/higan-106/higan/gba/apu/square1.cpp:25:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Square1::read(uint addr) const -> uint8 {
data/higan-106/higan/gba/apu/square2.cpp:1:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Square2::read(uint addr) const -> uint8 {
data/higan-106/higan/gba/apu/wave.cpp:20:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::Wave::read(uint addr) const -> uint8 {
data/higan-106/higan/gba/cartridge/cartridge.cpp:47:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(mrom.data, mrom.size);
data/higan-106/higan/gba/cartridge/cartridge.cpp:59:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(sram.data, sram.size);
data/higan-106/higan/gba/cartridge/cartridge.cpp:73:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(eeprom.data, eeprom.size);
data/higan-106/higan/gba/cartridge/cartridge.cpp:89:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(flash.data, flash.size);
data/higan-106/higan/gba/cartridge/cartridge.cpp:119:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::read(uint mode, uint32 addr) -> uint32 {
data/higan-106/higan/gba/cartridge/cartridge.hpp:24:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint mode, uint32 addr) -> uint32;
data/higan-106/higan/gba/cartridge/eeprom.cpp:1:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::EEPROM::read(uint addr) -> bool {
data/higan-106/higan/gba/cartridge/eeprom.cpp:10:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::EEPROM::read() -> bool {
data/higan-106/higan/gba/cartridge/eeprom.cpp:24:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(offset >= 4) bit = read(address * 64 + (offset - 4));
data/higan-106/higan/gba/cartridge/flash.cpp:10:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::FLASH::read(uint16 addr) -> uint8 {
data/higan-106/higan/gba/cartridge/memory.hpp:6:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint mode, uint32 addr) -> uint32;
data/higan-106/higan/gba/cartridge/memory.hpp:17:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint mode, uint32 addr) -> uint32;
data/higan-106/higan/gba/cartridge/memory.hpp:37:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint addr) -> bool;
data/higan-106/higan/gba/cartridge/memory.hpp:40:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> bool;
data/higan-106/higan/gba/cartridge/memory.hpp:59:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8;
data/higan-106/higan/gba/cartridge/mrom.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::MROM::read(uint mode, uint32 addr) -> uint32 {
data/higan-106/higan/gba/cartridge/mrom.cpp:4:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    word |= read(mode & ~Word | Half, (addr & ~3) + 0) <<  0;
data/higan-106/higan/gba/cartridge/mrom.cpp:5:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    word |= read(mode & ~Word | Half, (addr & ~3) + 2) << 16;
data/higan-106/higan/gba/cartridge/sram.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::SRAM::read(uint mode, uint32 addr) -> uint32 {
data/higan-106/higan/gba/cpu/bus.cpp:19:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      word = cartridge.read(mode, addr);
data/higan-106/higan/gba/cpu/io.cpp:41:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(auto data = player.read()) return data().byte(addr.bits(0,1));
data/higan-106/higan/gba/cpu/io.cpp:45:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(auto data = player.read()) return data().byte(addr.bits(0,1));
data/higan-106/higan/gba/cpu/prefetch.cpp:15:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    prefetch.slot[prefetch.load >> 1 & 7] = cartridge.read(Half, prefetch.load);
data/higan-106/higan/gba/cpu/timer.cpp:31:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  apu.fifo[n].read();
data/higan-106/higan/gba/player/player.hpp:10:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> maybe<uint32>;
data/higan-106/higan/gba/system/bios.cpp:12:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto BIOS::read(uint mode, uint32 addr) -> uint32 {
data/higan-106/higan/gba/system/bios.cpp:20:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(mode & Word) return mdr = read(Half, addr &~ 2) << 0 | read(Half, addr | 2) << 16;
data/higan-106/higan/gba/system/bios.cpp:20:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(mode & Word) return mdr = read(Half, addr &~ 2) << 0 | read(Half, addr | 2) << 16;
data/higan-106/higan/gba/system/bios.cpp:21:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(mode & Half) return mdr = read(Byte, addr &~ 1) << 0 | read(Byte, addr | 1) <<  8;
data/higan-106/higan/gba/system/bios.cpp:21:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(mode & Half) return mdr = read(Byte, addr &~ 1) << 0 | read(Byte, addr | 1) <<  8;
data/higan-106/higan/gba/system/system.cpp:45:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(bios.data, bios.size);
data/higan-106/higan/gba/system/system.hpp:9:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint mode, uint32 addr) -> uint32;
data/higan-106/higan/md/apu/apu.hpp:18:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8 override;
data/higan-106/higan/md/apu/bus.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto APU::read(uint16 addr) -> uint8 {
data/higan-106/higan/md/apu/bus.cpp:12:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.read(io.bank << 15 | (addr & 0x7ffe)).byte(!addr.bit(0));
data/higan-106/higan/md/cartridge/cartridge.cpp:94:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::read(uint24 address) -> uint16 {
data/higan-106/higan/md/cartridge/cartridge.hpp:13:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr) -> uint16;
data/higan-106/higan/md/cpu/bus.cpp:4:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.read(addr & ~1).byte(!addr.bit(0));
data/higan-106/higan/md/cpu/bus.cpp:6:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xa00000 && addr <= 0xa0ffff) return apu.granted() ? apu.read(addr) : (uint8)0x00;
data/higan-106/higan/md/cpu/bus.cpp:10:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xc00000 && addr <= 0xdfffff) return vdp.read(addr & ~1).byte(!addr.bit(0));
data/higan-106/higan/md/cpu/bus.cpp:20:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.read(addr);
data/higan-106/higan/md/cpu/bus.cpp:22:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xa00000 && addr <= 0xa0ffff) return apu.granted() ? apu.read(addr) : (uint8)0x00;
data/higan-106/higan/md/cpu/bus.cpp:26:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0xc00000 && addr <= 0xdfffff) return vdp.read(addr);
data/higan-106/higan/md/cpu/cpu.cpp:74:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(tmss, 2 * 1024);
data/higan-106/higan/md/vdp/background.cpp:16:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  state.horizontalScroll = vdp.vram.read(address).bits(0,9);
data/higan-106/higan/md/vdp/background.cpp:25:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  state.verticalScroll = vdp.vsram.read(address);
data/higan-106/higan/md/vdp/background.cpp:65:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 tileAttributes = vdp.vram.read(address);
data/higan-106/higan/md/vdp/background.cpp:71:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 tileData = vdp.vram.read(tileAddress);
data/higan-106/higan/md/vdp/io.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDP::read(uint24 addr) -> uint16 {
data/higan-106/higan/md/vdp/io.cpp:53:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = vram.read(address);
data/higan-106/higan/md/vdp/io.cpp:61:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = vsram.read(address);
data/higan-106/higan/md/vdp/io.cpp:69:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = cram.read(address);
data/higan-106/higan/md/vdp/memory.cpp:1:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDP::VRAM::read(uint15 address) const -> uint16 {
data/higan-106/higan/md/vdp/memory.cpp:13:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(address >> 1).byte(!address.bit(0));
data/higan-106/higan/md/vdp/memory.cpp:17:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto word = read(address >> 1);
data/higan-106/higan/md/vdp/memory.cpp:22:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDP::VSRAM::read(uint6 address) const -> uint10 {
data/higan-106/higan/md/vdp/memory.cpp:32:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDP::CRAM::read(uint6 address) const -> uint9 {
data/higan-106/higan/md/vdp/render.cpp:32:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto color = cram.read(fg.color);
data/higan-106/higan/md/vdp/render.cpp:46:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto color = cram.read(fg.color);
data/higan-106/higan/md/vdp/sprite.cpp:93:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 tileData = vdp.vram.read(tileAddress);
data/higan-106/higan/md/vdp/vdp.hpp:12:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr) -> uint16;
data/higan-106/higan/md/vdp/vdp.hpp:160:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint15 address) const -> uint16;
data/higan-106/higan/md/vdp/vdp.hpp:175:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint6 address) const -> uint10;
data/higan-106/higan/md/vdp/vdp.hpp:187:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint6 address) const -> uint9;
data/higan-106/higan/ms/cartridge/cartridge.cpp:39:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fp->read(rom.data, rom.size);
data/higan-106/higan/ms/cartridge/cartridge.cpp:52:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fp->read(ram.data, ram.size);
data/higan-106/higan/ms/cartridge/cartridge.cpp:100:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::Memory::read(uint addr) -> uint8 {
data/higan-106/higan/ms/cartridge/cartridge.hpp:15:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> maybe<uint8>;
data/higan-106/higan/ms/cartridge/cartridge.hpp:36:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint addr) -> uint8;
data/higan-106/higan/ms/cartridge/mapper.cpp:1:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::read(uint16 addr) -> maybe<uint8> {
data/higan-106/higan/ms/cartridge/mapper.cpp:8:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(addr <= 0x03ff) return rom.read(addr);
data/higan-106/higan/ms/cartridge/mapper.cpp:9:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(mapper.romPage0 << 14 | addr);
data/higan-106/higan/ms/cartridge/mapper.cpp:13:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(mapper.romPage1 << 14 | addr);
data/higan-106/higan/ms/cartridge/mapper.cpp:18:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return ram.read(mapper.ramPage2 << 14 | addr);
data/higan-106/higan/ms/cartridge/mapper.cpp:21:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(mapper.romPage2 << 14 | addr);
data/higan-106/higan/ms/cartridge/mapper.cpp:26:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return ram.read(addr);
data/higan-106/higan/ms/cpu/bus.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint16 addr) -> uint8 {
data/higan-106/higan/ms/cpu/bus.cpp:4:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(auto result = cartridge.read(addr)) {
data/higan-106/higan/ms/cpu/cpu.hpp:17:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8 override;
data/higan-106/higan/pce/cartridge/cartridge.cpp:35:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fp->read(rom.data, rom.size);
data/higan-106/higan/pce/cartridge/cartridge.cpp:57:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Cartridge::read(uint20 addr) -> uint8 {
data/higan-106/higan/pce/cartridge/cartridge.hpp:13:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint20 addr) -> uint8;
data/higan-106/higan/pce/cpu/cpu.cpp:35:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.pc.byte(0) = read(0x00, 0x1ffe);
data/higan-106/higan/pce/cpu/cpu.cpp:36:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.pc.byte(1) = read(0x00, 0x1fff);
data/higan-106/higan/pce/cpu/cpu.hpp:15:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint8 bank, uint13 addr) -> uint8 override;
data/higan-106/higan/pce/cpu/io.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint8 bank, uint13 addr) -> uint8 {
data/higan-106/higan/pce/cpu/io.cpp:10:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cartridge.read(bank << 13 | addr);
data/higan-106/higan/pce/cpu/io.cpp:29:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(Model::PCEngine()) return vdc0.read(addr);
data/higan-106/higan/pce/cpu/io.cpp:30:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(Model::SuperGrafx()) return vpc.read(addr);
data/higan-106/higan/pce/cpu/io.cpp:36:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return vce.read(addr);
data/higan-106/higan/pce/cpu/memory.cpp:15:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    fp->read(bram, 0x800);
data/higan-106/higan/pce/vce/io.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VCE::read(uint3 addr) -> uint8 {
data/higan-106/higan/pce/vce/io.cpp:4:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint8 data = cram.read(cram.address).bits(0,7);
data/higan-106/higan/pce/vce/io.cpp:10:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint1 data = cram.read(cram.address).bit(8);
data/higan-106/higan/pce/vce/memory.cpp:1:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VCE::CRAM::read(uint9 addr) -> uint9 {
data/higan-106/higan/pce/vce/vce.cpp:30:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    color = cram.read(color);
data/higan-106/higan/pce/vce/vce.hpp:13:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint3 addr) -> uint8;
data/higan-106/higan/pce/vce/vce.hpp:24:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint9 addr) -> uint9;
data/higan-106/higan/pce/vdc/background.cpp:20:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 tiledata = vdc->vram.read(batAddress);
data/higan-106/higan/pce/vdc/background.cpp:25:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 d0 = vdc->vram.read(patternAddress + 0);
data/higan-106/higan/pce/vdc/background.cpp:26:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 d1 = vdc->vram.read(patternAddress + 8);
data/higan-106/higan/pce/vdc/dma.cpp:4:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint16 data = vdc->vram.read(source);
data/higan-106/higan/pce/vdc/dma.cpp:15:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint16 data = vdc->vram.read(satbSource + satbOffset);
data/higan-106/higan/pce/vdc/io.cpp:1:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDC::read(uint2 addr) -> uint8 {
data/higan-106/higan/pce/vdc/io.cpp:23:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        vram.dataRead = vram.read(vram.addressRead);
data/higan-106/higan/pce/vdc/io.cpp:49:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      vram.dataRead = vram.read(vram.addressRead);
data/higan-106/higan/pce/vdc/memory.cpp:1:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDC::VRAM::read(uint16 addr) -> uint16 {
data/higan-106/higan/pce/vdc/memory.cpp:11:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VDC::SATB::read(uint8 addr) -> uint16 {
data/higan-106/higan/pce/vdc/sprite.cpp:10:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d0 = vdc->satb.read(index << 2 | 0);
data/higan-106/higan/pce/vdc/sprite.cpp:11:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d1 = vdc->satb.read(index << 2 | 1);
data/higan-106/higan/pce/vdc/sprite.cpp:12:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d2 = vdc->satb.read(index << 2 | 2);
data/higan-106/higan/pce/vdc/sprite.cpp:13:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d3 = vdc->satb.read(index << 2 | 3);
data/higan-106/higan/pce/vdc/sprite.cpp:78:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d0 = vdc->vram.read(patternAddress +  0);
data/higan-106/higan/pce/vdc/sprite.cpp:79:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d1 = vdc->vram.read(patternAddress + 16);
data/higan-106/higan/pce/vdc/sprite.cpp:80:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d2 = vdc->vram.read(patternAddress + 32);
data/higan-106/higan/pce/vdc/sprite.cpp:81:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 d3 = vdc->vram.read(patternAddress + 48);
data/higan-106/higan/pce/vdc/vdc.hpp:16:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint2 addr) -> uint8;
data/higan-106/higan/pce/vdc/vdc.hpp:27:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint16 addr) -> uint16;
data/higan-106/higan/pce/vdc/vdc.hpp:42:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint8 addr) -> uint16;
data/higan-106/higan/pce/vpc/vpc.cpp:76:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto VPC::read(uint5 addr) -> uint8 {
data/higan-106/higan/pce/vpc/vpc.cpp:77:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0x00 && addr <= 0x07) return vdc0.read(addr);
data/higan-106/higan/pce/vpc/vpc.cpp:78:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr >= 0x10 && addr <= 0x17) return vdc1.read(addr);
data/higan-106/higan/pce/vpc/vpc.hpp:7:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint5 addr) -> uint8;
data/higan-106/higan/processor/arm7tdmi/arm7tdmi.hpp:40:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint mode, uint32 address) -> uint32;
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:20:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint32 opcode = read(Word | Nonsequential, _pc & ~3);
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:25:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 opcode = read(Half | Nonsequential, _pc & ~1);
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:124:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(n == 15) data = {" =0x", hex(read((half ? Half : Byte) | Nonsequential,
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:153:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(n == 15) data = {" =0x", hex(read(Half | Nonsequential, _pc + (up ? +immediate : -immediate)), 4L)};
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:176:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(n == 15) data = {" =0x", hex(read((byte ? Byte : Word) | Nonsequential,
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:311:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint11 displacementLo = read(Half | Nonsequential, (_pc & ~1) + 2);
data/higan-106/higan/processor/arm7tdmi/disassembler.cpp:343:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint32 data = read(Word | Nonsequential, address);
data/higan-106/higan/processor/arm7tdmi/instruction.cpp:17:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  pipeline.fetch.instruction = read(Prefetch | size | sequential, pipeline.fetch.address);
data/higan-106/higan/processor/arm7tdmi/instruction.cpp:28:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    pipeline.fetch.instruction = read(Prefetch | size | Nonsequential, pipeline.fetch.address);
data/higan-106/higan/processor/arm7tdmi/instructions-arm.cpp:203:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(mode == 1) r(m) = read(Word | sequential, rn);
data/higan-106/higan/processor/arm7tdmi/instructions-thumb.cpp:133:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: r(m) = read(Word | Nonsequential, rn); break;  //LDMIA
data/higan-106/higan/processor/arm7tdmi/instructions-thumb.cpp:199:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: r(m) = read(Word | sequential, sp); break;  //POP
data/higan-106/higan/processor/arm7tdmi/instructions-thumb.cpp:208:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: r(15) = read(Word | sequential, sp); break;  //POP
data/higan-106/higan/processor/arm7tdmi/memory.cpp:6:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto ARM7TDMI::read(uint mode, uint32 address) -> uint32 {
data/higan-106/higan/processor/gsu/disassembler.cpp:11: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).
  uint length = strlen(output);
data/higan-106/higan/processor/gsu/disassembler.cpp:12:24:  [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.
  while(length++ < 20) strcat(output, " ");
data/higan-106/higan/processor/gsu/disassembler.cpp:30:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define op1 read((regs.pbr << 16) + regs.r[15] + 0)
data/higan-106/higan/processor/gsu/disassembler.cpp:31:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define op2 read((regs.pbr << 16) + regs.r[15] + 1)
data/higan-106/higan/processor/gsu/gsu.hpp:23:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint24 addr, uint8 data = 0x00) -> uint8 = 0;
data/higan-106/higan/processor/hg51b/hg51b.cpp:13:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  opcode  = read(addr++) << 0;
data/higan-106/higan/processor/hg51b/hg51b.cpp:14:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  opcode |= read(addr++) << 8;
data/higan-106/higan/processor/hg51b/hg51b.hpp:9:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint24 addr) -> uint8 = 0;
data/higan-106/higan/processor/hg51b/instructions.cpp:118:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    regs.busdata = read(regs.busaddr++);
data/higan-106/higan/processor/huc6280/disassembler.cpp:8:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(bank, addr++);
data/higan-106/higan/processor/huc6280/disassembler.cpp:12:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 data = read(bank, addr++) << 0;
data/higan-106/higan/processor/huc6280/disassembler.cpp:13:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return data | read(bank, addr++) << 8;
data/higan-106/higan/processor/huc6280/huc6280.hpp:9:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint8 bank, uint13 addr) -> uint8 = 0;
data/higan-106/higan/processor/huc6280/memory.cpp:3:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(r.mpr[1], addr);
data/higan-106/higan/processor/huc6280/memory.cpp:8:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(r.mpr[addr.bits(13,15)], addr.bits(0,12));
data/higan-106/higan/processor/huc6280/memory.cpp:46:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(r.mpr[1], 0x0100 | S);
data/higan-106/higan/processor/lr35902/instructions.cpp:10:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = ADD(target, read(source), CF);
data/higan-106/higan/processor/lr35902/instructions.cpp:32:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = ADD(target, read(source));
data/higan-106/higan/processor/lr35902/instructions.cpp:54:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = AND(target, read(source));
data/higan-106/higan/processor/lr35902/instructions.cpp:62:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:88:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  CP(target, read(source));
data/higan-106/higan/processor/lr35902/instructions.cpp:124:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:151:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:182:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  data = read(operands());
data/higan-106/higan/processor/lr35902/instructions.cpp:212:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = read(source);
data/higan-106/higan/processor/lr35902/instructions.cpp:216:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = read(source--);
data/higan-106/higan/processor/lr35902/instructions.cpp:220:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = read(source++);
data/higan-106/higan/processor/lr35902/instructions.cpp:244:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  data = read(0xff00 | operand());
data/higan-106/higan/processor/lr35902/instructions.cpp:248:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = read(0xff00 | source);
data/higan-106/higan/processor/lr35902/instructions.cpp:267:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = OR(target, read(source));
data/higan-106/higan/processor/lr35902/instructions.cpp:284:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:314:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:328:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:342:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:356:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:380:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = SUB(target, read(source), CF);
data/higan-106/higan/processor/lr35902/instructions.cpp:393:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:403:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:412:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:421:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:440:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = SUB(target, read(source));
data/higan-106/higan/processor/lr35902/instructions.cpp:448:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(address);
data/higan-106/higan/processor/lr35902/instructions.cpp:461:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  target = XOR(target, read(source));
data/higan-106/higan/processor/lr35902/lr35902.hpp:9:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint16 address) -> uint8 = 0;
data/higan-106/higan/processor/lr35902/memory.cpp:2:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(PC++);
data/higan-106/higan/processor/lr35902/memory.cpp:6:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(PC++) << 0;
data/higan-106/higan/processor/lr35902/memory.cpp:7:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return data | read(PC++) << 8;
data/higan-106/higan/processor/lr35902/memory.cpp:11:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(address++) << 0;
data/higan-106/higan/processor/lr35902/memory.cpp:12:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return data | read(address++) << 8;
data/higan-106/higan/processor/lr35902/memory.cpp:21:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(SP++) << 0;
data/higan-106/higan/processor/lr35902/memory.cpp:22:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return data | read(SP++) << 8;
data/higan-106/higan/processor/m68k/disassembler.cpp:27:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ? read(AddressRegister{extension >> 12})
data/higan-106/higan/processor/m68k/disassembler.cpp:28:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : read(DataRegister{extension >> 12});
data/higan-106/higan/processor/m68k/disassembler.cpp:58:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(ea.mode ==  5) return {"($", hex(_readDisplacement(read(AddressRegister{ea.reg})), 6L), ")"};
data/higan-106/higan/processor/m68k/disassembler.cpp:59:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(ea.mode ==  6) return {"($", hex(_readIndex(read(AddressRegister{ea.reg})), 6L), ")"};
data/higan-106/higan/processor/m68k/effective-address.cpp:7:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(DataRegister{ea.reg});
data/higan-106/higan/processor/m68k/effective-address.cpp:11:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg});
data/higan-106/higan/processor/m68k/effective-address.cpp:15:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg});
data/higan-106/higan/processor/m68k/effective-address.cpp:19:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg});
data/higan-106/higan/processor/m68k/effective-address.cpp:23:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg});
data/higan-106/higan/processor/m68k/effective-address.cpp:27:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg}) + (int16)readPC();
data/higan-106/higan/processor/m68k/effective-address.cpp:33:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ? read(AddressRegister{extension >> 12})
data/higan-106/higan/processor/m68k/effective-address.cpp:34:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : read(DataRegister{extension >> 12});
data/higan-106/higan/processor/m68k/effective-address.cpp:36:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(AddressRegister{ea.reg}) + index + (int8)extension;
data/higan-106/higan/processor/m68k/effective-address.cpp:56:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ? read(AddressRegister{extension >> 12})
data/higan-106/higan/processor/m68k/effective-address.cpp:57:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : read(DataRegister{extension >> 12});
data/higan-106/higan/processor/m68k/effective-address.cpp:71:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<uint Size, bool hold> auto M68K::read(EffectiveAddress& ea) -> uint32 {
data/higan-106/higan/processor/m68k/effective-address.cpp:85:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:90:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:97:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = read<Size>(address);
data/higan-106/higan/processor/m68k/effective-address.cpp:103:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:107:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:111:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:115:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:119:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/effective-address.cpp:123:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read<Size>(ea.address);
data/higan-106/higan/processor/m68k/instructions.cpp:54:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Byte>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:55:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Byte, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:96:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:97:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:103:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:104:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:110:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = sign<Size>(read<Size>(ea));
data/higan-106/higan/processor/m68k/instructions.cpp:111:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Long>(ar);
data/higan-106/higan/processor/m68k/instructions.cpp:117:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(modify);
data/higan-106/higan/processor/m68k/instructions.cpp:124:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:131:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = read<Long>(with) + immediate;
data/higan-106/higan/processor/m68k/instructions.cpp:136:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:137:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:154:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:155:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:161:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:162:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:169:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:206:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASL<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:211:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:212:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASL<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:217:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASL<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:241:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASR<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:246:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:247:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASR<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:252:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ASR<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:265:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto index = read<Size>(bit) & bits<Size>() - 1;
data/higan-106/higan/processor/m68k/instructions.cpp:266:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:274:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:281:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto index = read<Size>(bit) & bits<Size>() - 1;
data/higan-106/higan/processor/m68k/instructions.cpp:282:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:290:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:297:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto index = read<Size>(bit) & bits<Size>() - 1;
data/higan-106/higan/processor/m68k/instructions.cpp:298:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:306:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:313:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto index = read<Size>(bit) & bits<Size>() - 1;
data/higan-106/higan/processor/m68k/instructions.cpp:314:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:320:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto test = read<Size>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:325:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Word>(maximum);
data/higan-106/higan/processor/m68k/instructions.cpp:326:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Word>(compare);
data/higan-106/higan/processor/m68k/instructions.cpp:341:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read<Size, Hold>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:362:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:363:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(dr);
data/higan-106/higan/processor/m68k/instructions.cpp:368:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = sign<Size>(read<Size>(ea));
data/higan-106/higan/processor/m68k/instructions.cpp:369:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Long>(ar);
data/higan-106/higan/processor/m68k/instructions.cpp:375:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:380:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(ay);
data/higan-106/higan/processor/m68k/instructions.cpp:381:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(ax);
data/higan-106/higan/processor/m68k/instructions.cpp:388:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16 result = read<Word>(dr);
data/higan-106/higan/processor/m68k/instructions.cpp:395:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto dividend = read<Long>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:440:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto divisor = read<Word>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:445:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto divisor = read<Word>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:461:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:462:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:469:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:487:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto z = read<Long>(x);
data/higan-106/higan/processor/m68k/instructions.cpp:488:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(x, read<Long>(y));
data/higan-106/higan/processor/m68k/instructions.cpp:493:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto z = read<Long>(x);
data/higan-106/higan/processor/m68k/instructions.cpp:494:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(x, read<Long>(y));
data/higan-106/higan/processor/m68k/instructions.cpp:499:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto z = read<Long>(x);
data/higan-106/higan/processor/m68k/instructions.cpp:500:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(x, read<Long>(y));
data/higan-106/higan/processor/m68k/instructions.cpp:505:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = (int8)read<Byte>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:515:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = (int16)read<Word>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:548:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  push<Long>(read<Long>(with));
data/higan-106/higan/processor/m68k/instructions.cpp:549:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(with, read<Long>(sp));
data/higan-106/higan/processor/m68k/instructions.cpp:550:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(sp, read<Long>(sp) + displacement);
data/higan-106/higan/processor/m68k/instructions.cpp:570:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSL<Size>(read<Size>(dr), immediate);
data/higan-106/higan/processor/m68k/instructions.cpp:575:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto shift = read<Long>(sr) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:576:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSL<Size>(read<Size>(dr), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:581:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSL<Word>(read<Word, Hold>(ea), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:602:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSR<Size>(read<Size>(dr), immediate);
data/higan-106/higan/processor/m68k/instructions.cpp:607:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:608:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSR<Size>(read<Size>(dr), count);
data/higan-106/higan/processor/m68k/instructions.cpp:613:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = LSR<Word>(read<Word, Hold>(ea), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:618:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:628:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = sign<Size>(read<Size>(ea));
data/higan-106/higan/processor/m68k/instructions.cpp:642:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = index < 8 ? read<Size>(DataRegister{index}) : read<Size>(AddressRegister{index});
data/higan-106/higan/processor/m68k/instructions.cpp:642:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = index < 8 ? read<Size>(DataRegister{index}) : read<Size>(AddressRegister{index});
data/higan-106/higan/processor/m68k/instructions.cpp:661:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = read<Size>(addr);
data/higan-106/higan/processor/m68k/instructions.cpp:674:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Long>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:685:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Long>(to);
data/higan-106/higan/processor/m68k/instructions.cpp:690:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data |= read<Byte>(address) << shift;
data/higan-106/higan/processor/m68k/instructions.cpp:711:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Word>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:718:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Word>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:731:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.sp = read<Long>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:735:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Word>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:736:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Word>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:747:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Word>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:748:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Word>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:759:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Byte, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:792:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = SUB<Size>(read<Size, Hold>(with), 0);
data/higan-106/higan/processor/m68k/instructions.cpp:797:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = SUB<Size, Extend>(read<Size, Hold>(with), 0);
data/higan-106/higan/processor/m68k/instructions.cpp:805:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ~read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:826:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:827:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:833:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:834:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:841:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:885:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROL<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:890:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:891:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROL<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:896:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROL<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:917:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROR<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:922:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:923:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROR<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:928:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROR<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:950:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXL<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:955:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:956:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXL<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:961:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXL<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:984:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXR<Size>(read<Size>(modify), shift);
data/higan-106/higan/processor/m68k/instructions.cpp:989:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto count = read<Long>(shift) & 63;
data/higan-106/higan/processor/m68k/instructions.cpp:990:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXR<Size>(read<Size>(modify), count);
data/higan-106/higan/processor/m68k/instructions.cpp:995:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = ROXR<Word>(read<Word, Hold>(modify), 1);
data/higan-106/higan/processor/m68k/instructions.cpp:1017:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Byte>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:1018:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Byte, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1076:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(source_);
data/higan-106/higan/processor/m68k/instructions.cpp:1077:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size>(target_);
data/higan-106/higan/processor/m68k/instructions.cpp:1083:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(source_);
data/higan-106/higan/processor/m68k/instructions.cpp:1084:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(target_);
data/higan-106/higan/processor/m68k/instructions.cpp:1090:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = sign<Size>(read<Size>(from));
data/higan-106/higan/processor/m68k/instructions.cpp:1091:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Long>(to);
data/higan-106/higan/processor/m68k/instructions.cpp:1097:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1104:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1111:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = read<Long>(with) - immediate;
data/higan-106/higan/processor/m68k/instructions.cpp:1116:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto source = read<Size>(from);
data/higan-106/higan/processor/m68k/instructions.cpp:1117:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto target = read<Size, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1123:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto result = read<Long>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1137:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data = read<Byte, Hold>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1142:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data = read<Byte>(with);
data/higan-106/higan/processor/m68k/instructions.cpp:1161:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Size>(ea);
data/higan-106/higan/processor/m68k/instructions.cpp:1171:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write<Long>(sp, read<Long>(with));
data/higan-106/higan/processor/m68k/m68k.cpp:58:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.pc = read<Long>(vector << 2);
data/higan-106/higan/processor/m68k/m68k.hpp:69:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  template<uint Size = Long> auto read(DataRegister reg) -> uint32;
data/higan-106/higan/processor/m68k/m68k.hpp:76:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  template<uint Size = Long> auto read(AddressRegister reg) -> uint32;
data/higan-106/higan/processor/m68k/m68k.hpp:85:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  template<uint Size> auto read(uint32 addr) -> uint32;
data/higan-106/higan/processor/m68k/m68k.hpp:105:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  template<uint Size, bool hold = 0> auto read(EffectiveAddress& ea) -> uint32;
data/higan-106/higan/processor/m68k/memory.cpp:1:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<> auto M68K::read<Byte>(uint32 addr) -> uint32 {
data/higan-106/higan/processor/m68k/memory.cpp:6:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<> auto M68K::read<Word>(uint32 addr) -> uint32 {
data/higan-106/higan/processor/m68k/memory.cpp:11:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<> auto M68K::read<Long>(uint32 addr) -> uint32 {
data/higan-106/higan/processor/m68k/memory.cpp:83:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read<Size>((uint32)r.a[7]);
data/higan-106/higan/processor/m68k/registers.cpp:1:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<uint Size> auto M68K::read(DataRegister reg) -> uint32 {
data/higan-106/higan/processor/m68k/registers.cpp:11:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<uint Size> auto M68K::read(AddressRegister reg) -> uint32 {
data/higan-106/higan/processor/mos6502/instruction.cpp:13:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  PCL = read(vector++);
data/higan-106/higan/processor/mos6502/instruction.cpp:14:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L PCH = read(vector++);
data/higan-106/higan/processor/mos6502/instructions.cpp:4:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(absolute);
data/higan-106/higan/processor/mos6502/instructions.cpp:13:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(absolute + index);
data/higan-106/higan/processor/mos6502/instructions.cpp:21:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L data = ALU(read(absolute));
data/higan-106/higan/processor/mos6502/instructions.cpp:28:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L data = ALU(read(absolute + index));
data/higan-106/higan/processor/mos6502/instructions.cpp:63:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  PCL = read(vector++);
data/higan-106/higan/processor/mos6502/instructions.cpp:64:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L PCH = read(vector++);
data/higan-106/higan/processor/mos6502/instructions.cpp:96:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L data = ALU(read(absolute));
data/higan-106/higan/processor/mos6502/instructions.cpp:112:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L data = ALU(read(absolute + Y));
data/higan-106/higan/processor/mos6502/instructions.cpp:132:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 pc = read(absolute);
data/higan-106/higan/processor/mos6502/instructions.cpp:134:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L pc |= read(absolute) << 8;
data/higan-106/higan/processor/mos6502/instructions.cpp:229:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(zeroPage);
data/higan-106/higan/processor/mos6502/memory.cpp:2:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/mos6502/memory.cpp:7:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read((x & 0xff00) | (y & 0x00ff));
data/higan-106/higan/processor/mos6502/memory.cpp:11:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read((x & 0xff00) | (y & 0x00ff));
data/higan-106/higan/processor/mos6502/memory.cpp:15:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(PC++);
data/higan-106/higan/processor/mos6502/memory.cpp:19:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(PC++);
data/higan-106/higan/processor/mos6502/memory.cpp:23:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(addr);
data/higan-106/higan/processor/mos6502/memory.cpp:35:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(0x0100 | ++S);
data/higan-106/higan/processor/mos6502/mos6502.hpp:8:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint16 addr) -> uint8 = 0;
data/higan-106/higan/processor/spc700/disassembler.cpp:11:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto a = [&] { return hex((read(addr + 1) << 0) + (read(addr + 2) << 8), 4L); };
data/higan-106/higan/processor/spc700/disassembler.cpp:11:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto a = [&] { return hex((read(addr + 1) << 0) + (read(addr + 2) << 8), 4L); };
data/higan-106/higan/processor/spc700/disassembler.cpp:12:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto b = [&](uint n) { return hex(read(addr + 1 + n), 2L); };
data/higan-106/higan/processor/spc700/disassembler.cpp:13:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto rel = [&](uint r, uint n = 0) { return hex(addr + r + (int8)read(addr + 1 + n), 4L); };
data/higan-106/higan/processor/spc700/disassembler.cpp:14:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto dp = [&](uint n) { return hex((p << 8) + read(addr + 1 + n), 3L); };
data/higan-106/higan/processor/spc700/disassembler.cpp:16:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint n = (read(addr + 1) << 0) + (read(addr + 2) << 8);
data/higan-106/higan/processor/spc700/disassembler.cpp:16:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint n = (read(addr + 1) << 0) + (read(addr + 2) << 8);
data/higan-106/higan/processor/spc700/disassembler.cpp:21:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    switch(read(addr)) {
data/higan-106/higan/processor/spc700/instructions.cpp:6:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:51:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:58:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:65:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:73:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address + index);
data/higan-106/higan/processor/spc700/instructions.cpp:81:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(address + index);
data/higan-106/higan/processor/spc700/instructions.cpp:139:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:149:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:154:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 address = read(0xffde + 0);
data/higan-106/higan/processor/spc700/instructions.cpp:155:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  address |= read(0xffde + 1) << 8;
data/higan-106/higan/processor/spc700/instructions.cpp:182:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:188:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 pc = read(address + 0);
data/higan-106/higan/processor/spc700/instructions.cpp:189:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  pc |= read(address + 1) << 8;
data/higan-106/higan/processor/spc700/instructions.cpp:194:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:200:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:214:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:347:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:378:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:388:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:399:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:408:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:417:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:426:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address + index);
data/higan-106/higan/processor/spc700/instructions.cpp:435:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(address + index);
data/higan-106/higan/processor/spc700/instructions.cpp:440:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:446:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:452:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:460:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:466:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:474:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:491:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 pc = read(address + X + 0);
data/higan-106/higan/processor/spc700/instructions.cpp:492:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  pc |= read(address + X + 1) << 8;
data/higan-106/higan/processor/spc700/instructions.cpp:497:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:514:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:518:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:524:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:530:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:536:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:542:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:551:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:561:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:569:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:572:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(address);
data/higan-106/higan/processor/spc700/instructions.cpp:577:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/spc700/instructions.cpp:587:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(PC);
data/higan-106/higan/processor/spc700/memory.cpp:2:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(PC++);
data/higan-106/higan/processor/spc700/memory.cpp:6:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(PF << 8 | address);
data/higan-106/higan/processor/spc700/memory.cpp:14:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(1 << 8 | ++S);
data/higan-106/higan/processor/spc700/spc700.hpp:7:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint16 address) -> uint8 = 0;
data/higan-106/higan/processor/v30mz/disassembler.cpp:10:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint8 data = read(cs * 16 + ip);
data/higan-106/higan/processor/v30mz/instruction.cpp:16:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto ip = read(Word, 0x0000, vector * 4 + 0);
data/higan-106/higan/processor/v30mz/instruction.cpp:17:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto cs = read(Word, 0x0000, vector * 4 + 2);
data/higan-106/higan/processor/v30mz/instructions-exec.cpp:121:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto data = read(Word, segment(r.ss), r.bp - n * 2);
data/higan-106/higan/processor/v30mz/instructions-misc.cpp:56:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  r.al = read(Byte, segment(r.ds), r.bx + r.al);
data/higan-106/higan/processor/v30mz/instructions-move.cpp:25:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  setAcc(size, read(size, segment(r.ds), fetch(Word)));
data/higan-106/higan/processor/v30mz/instructions-string.cpp:18:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = read(size, segment(r.ds), r.si);
data/higan-106/higan/processor/v30mz/instructions-string.cpp:32:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto data = read(size, segment(r.ds), r.si);
data/higan-106/higan/processor/v30mz/instructions-string.cpp:47:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto x = read(size, segment(r.ds), r.si);
data/higan-106/higan/processor/v30mz/instructions-string.cpp:48:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto y = read(size, r.es, r.di);
data/higan-106/higan/processor/v30mz/instructions-string.cpp:78:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    setAcc(size, read(size, segment(r.ds), r.si));
data/higan-106/higan/processor/v30mz/instructions-string.cpp:92:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto y = read(size, r.es, r.di);
data/higan-106/higan/processor/v30mz/memory.cpp:1:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto V30MZ::read(Size size, uint16 segment, uint16 address) -> uint32 {
data/higan-106/higan/processor/v30mz/memory.cpp:3:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size >= Byte) data.byte(0) = read(segment * 16 + address++);
data/higan-106/higan/processor/v30mz/memory.cpp:4:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size >= Word) data.byte(1) = read(segment * 16 + address++);
data/higan-106/higan/processor/v30mz/memory.cpp:5:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size >= Long) data.byte(2) = read(segment * 16 + address++);
data/higan-106/higan/processor/v30mz/memory.cpp:6:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size >= Long) data.byte(3) = read(segment * 16 + address++);
data/higan-106/higan/processor/v30mz/memory.cpp:33:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(size, r.cs, r.ip);
data/higan-106/higan/processor/v30mz/memory.cpp:40:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(Word, r.ss, r.sp);
data/higan-106/higan/processor/v30mz/modrm.cpp:29:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(modrm.mod != 3) return read(size, modrm.segment, modrm.address + offset);
data/higan-106/higan/processor/v30mz/v30mz.hpp:21:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint20 addr) -> uint8 = 0;
data/higan-106/higan/processor/v30mz/v30mz.hpp:54:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(Size, uint16, uint16) -> uint32;
data/higan-106/higan/processor/wdc65816/instruction.cpp:2:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(PC);
data/higan-106/higan/processor/wdc65816/instruction.cpp:10:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  lo(PC) = read(r.vector + 0);
data/higan-106/higan/processor/wdc65816/instruction.cpp:11:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  hi(PC) = read(r.vector + 1);
data/higan-106/higan/processor/wdc65816/instructions-other.cpp:32:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(sourceBank << 16 | X);
data/higan-106/higan/processor/wdc65816/instructions-other.cpp:45:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(sourceBank << 16 | X);
data/higan-106/higan/processor/wdc65816/instructions-other.cpp:62:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  lo(PC) = read(vector++);
data/higan-106/higan/processor/wdc65816/instructions-other.cpp:63:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(PC) = read(vector++);
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:36:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(uint16(absolute + 0));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:37:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(data) = read(uint16(absolute + 1));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:45:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(db(PC) << 16 | uint16(absolute + X + 0));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:46:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(data) = read(db(PC) << 16 | uint16(absolute + X + 1));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:53:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint24 data = read(uint16(absolute + 0));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:54:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  hi(data) = read(uint16(absolute + 1));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:55:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L db(data) = read(uint16(absolute + 2));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:88:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(db(PC) << 16 | uint16(absolute + X + 0));
data/higan-106/higan/processor/wdc65816/instructions-pc.cpp:89:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(data) = read(db(PC) << 16 | uint16(absolute + X + 1));
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:48:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L uint8 data = read(address + index);
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:56:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(address + index + 0);
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:57:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(data) = read(address + index + 1);
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:160:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L uint8 data = read(address + index);
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:170:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(address + index + 0);
data/higan-106/higan/processor/wdc65816/instructions-read.cpp:171:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
L hi(data) = read(address + index + 1);
data/higan-106/higan/processor/wdc65816/memory.cpp:12:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(PC);
data/higan-106/higan/processor/wdc65816/memory.cpp:31:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(db(PC) << 16 | aa(PC)++);
data/higan-106/higan/processor/wdc65816/memory.cpp:36:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(S);
data/higan-106/higan/processor/wdc65816/memory.cpp:45:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(++S);
data/higan-106/higan/processor/wdc65816/memory.cpp:53:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(EF && !lo(D)) return read(D | uint8(addr));
data/higan-106/higan/processor/wdc65816/memory.cpp:54:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(uint16(D + addr));
data/higan-106/higan/processor/wdc65816/memory.cpp:63:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(uint16(D + addr));
data/higan-106/higan/processor/wdc65816/memory.cpp:67:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read((B << 16) + addr);
data/higan-106/higan/processor/wdc65816/memory.cpp:75:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(uint16(S + addr));
data/higan-106/higan/processor/wdc65816/wdc65816.hpp:11:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint24 addr) -> uint8 = 0;
data/higan-106/higan/processor/z80/disassembler.cpp:6:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto code = bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:10:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    code = bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:24:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto d = (int8)bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:25:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    code = bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:28:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    code = bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:31:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    code = bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:95:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:378:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bus->read(pc++);
data/higan-106/higan/processor/z80/disassembler.cpp:934:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bus->read(pc++);
data/higan-106/higan/processor/z80/instructions.cpp:14:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = ADD(A, read(displace(x)), CF);
data/higan-106/higan/processor/z80/instructions.cpp:35:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = ADD(A, read(displace(x)));
data/higan-106/higan/processor/z80/instructions.cpp:57:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = AND(A, read(displace(x)));
data/higan-106/higan/processor/z80/instructions.cpp:69:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  BIT(bit, read(addr));
data/higan-106/higan/processor/z80/instructions.cpp:73:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  x = BIT(bit, read(addr));
data/higan-106/higan/processor/z80/instructions.cpp:102:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SUB(A, read(displace(x)));
data/higan-106/higan/processor/z80/instructions.cpp:115:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL--);
data/higan-106/higan/processor/z80/instructions.cpp:131:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL++);
data/higan-106/higan/processor/z80/instructions.cpp:169:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(addr);
data/higan-106/higan/processor/z80/instructions.cpp:202:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  z.byte(0) = read(x + 0);
data/higan-106/higan/processor/z80/instructions.cpp:203:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  z.byte(1) = read(x + 1);
data/higan-106/higan/processor/z80/instructions.cpp:240:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(addr);
data/higan-106/higan/processor/z80/instructions.cpp:299:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = read(operands());
data/higan-106/higan/processor/z80/instructions.cpp:303:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = read(displace(x));
data/higan-106/higan/processor/z80/instructions.cpp:334:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  x = read(displace(y));
data/higan-106/higan/processor/z80/instructions.cpp:349:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  x.byte(0) = read(addr + 0);
data/higan-106/higan/processor/z80/instructions.cpp:350:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  x.byte(1) = read(addr + 1);
data/higan-106/higan/processor/z80/instructions.cpp:363:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL--);
data/higan-106/higan/processor/z80/instructions.cpp:379:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL++);
data/higan-106/higan/processor/z80/instructions.cpp:402:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = OR(A, read(displace(x)));
data/higan-106/higan/processor/z80/instructions.cpp:438:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL--);
data/higan-106/higan/processor/z80/instructions.cpp:446:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(_HL++);
data/higan-106/higan/processor/z80/instructions.cpp:462:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, RES(bit, read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:466:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = RES(bit, read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:495:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, RL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:499:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = RL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:518:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, RLC(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:522:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = RLC(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:541:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(HL);
data/higan-106/higan/processor/z80/instructions.cpp:557:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, RR(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:561:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = RR(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:580:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, RRC(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:584:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = RRC(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:603:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = read(HL);
data/higan-106/higan/processor/z80/instructions.cpp:625:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = SUB(A, read(displace(x)), CF);
data/higan-106/higan/processor/z80/instructions.cpp:652:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, SET(bit, read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:656:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = SET(bit, read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:664:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, SLA(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:668:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = SLA(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:676:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, SLL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:680:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = SLL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:688:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, SRA(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:692:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = SRA(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:700:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, SRL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:704:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  write(addr, x = SRL(read(addr)));
data/higan-106/higan/processor/z80/instructions.cpp:712:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = SUB(A, read(displace(x)));
data/higan-106/higan/processor/z80/instructions.cpp:724:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  A = XOR(A, read(displace(x)));
data/higan-106/higan/processor/z80/memory.cpp:18:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus->read(r.pc++);
data/higan-106/higan/processor/z80/memory.cpp:24:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus->read(r.pc++);
data/higan-106/higan/processor/z80/memory.cpp:38:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 data = read(SP++) << 0;
data/higan-106/higan/processor/z80/memory.cpp:39:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return data | read(SP++) << 8;
data/higan-106/higan/processor/z80/memory.cpp:49:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Z80::read(uint16 addr) -> uint8 {
data/higan-106/higan/processor/z80/memory.cpp:52:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus->read(addr);
data/higan-106/higan/processor/z80/z80.cpp:41:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r.pc  = read(addr + 0) << 0;
data/higan-106/higan/processor/z80/z80.cpp:42:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r.pc |= read(addr + 1) << 8;
data/higan-106/higan/processor/z80/z80.hpp:15:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual auto read(uint16 addr) -> uint8 = 0;
data/higan-106/higan/processor/z80/z80.hpp:47:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8;
data/higan-106/higan/sfc/cartridge/load.cpp:105:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : loadMap(leaf, {&MCC::read, &mcc}, {&MCC::write, &mcc});
data/higan-106/higan/sfc/cartridge/load.cpp:138:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&NSS::read, &nss}, {&NSS::write, &nss});
data/higan-106/higan/sfc/cartridge/load.cpp:157:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : loadMap(leaf, {&Event::read, &event}, {&Event::write, &event});
data/higan-106/higan/sfc/cartridge/load.cpp:189:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range(128 * 1024)) armdsp.programROM[n] = fp->read();
data/higan-106/higan/sfc/cartridge/load.cpp:192:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range( 32 * 1024)) armdsp.dataROM[n] = fp->read();
data/higan-106/higan/sfc/cartridge/load.cpp:195:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range( 16 * 1024)) armdsp.programRAM[n] = fp->read();
data/higan-106/higan/sfc/cartridge/load.cpp:198:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&ArmDSP::read, &armdsp}, {&ArmDSP::write, &armdsp});
data/higan-106/higan/sfc/cartridge/load.cpp:255:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&NECDSP::read, &necdsp}, {&NECDSP::write, &necdsp});
data/higan-106/higan/sfc/cartridge/load.cpp:265:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto& byte : data) byte = fp->read();
data/higan-106/higan/sfc/cartridge/load.cpp:269:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&EpsonRTC::read, &epsonrtc}, {&EpsonRTC::write, &epsonrtc});
data/higan-106/higan/sfc/cartridge/load.cpp:278:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto& byte : data) byte = fp->read();
data/higan-106/higan/sfc/cartridge/load.cpp:282:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&SharpRTC::read, &sharprtc}, {&SharpRTC::write, &sharprtc});
data/higan-106/higan/sfc/cartridge/load.cpp:294:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : loadMap(leaf, {&SPC7110::read, &spc7110}, {&SPC7110::write, &spc7110});
data/higan-106/higan/sfc/cartridge/load.cpp:304:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&SDD1::read, &sdd1}, {&SDD1::write, &sdd1});
data/higan-106/higan/sfc/cartridge/load.cpp:314:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(auto leaf : node.find("map")) loadMap(leaf, {&OBC1::read, &obc1}, {&OBC1::write, &obc1});
data/higan-106/higan/sfc/cartridge/load.cpp:331:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    fp->read(ram.data(), ram.size());
data/higan-106/higan/sfc/cartridge/load.cpp:342:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bus.map({&SuperFamicom::Memory::read, &memory}, {&SuperFamicom::Memory::write, &memory}, addr, size, base, mask);
data/higan-106/higan/sfc/coprocessor/armdsp/armdsp.hpp:19:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/epsonrtc/epsonrtc.hpp:11:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/event/event.cpp:61:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return rom[id].read(bus.mirror(addr, rom[id].size()), data);
data/higan-106/higan/sfc/coprocessor/event/event.cpp:74:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return rom[id].read(bus.mirror(addr, rom[id].size()), data);
data/higan-106/higan/sfc/coprocessor/event/event.cpp:80:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return rom[id].read(bus.mirror(addr, rom[id].size()), data);
data/higan-106/higan/sfc/coprocessor/event/event.cpp:90:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Event::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/event/event.hpp:14:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/hitachidsp/hitachidsp.cpp:16:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      write(mmio.dmaTarget + n, read(mmio.dmaSource + n));
data/higan-106/higan/sfc/coprocessor/hitachidsp/hitachidsp.hpp:12:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr) -> uint8 override;
data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp:1:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto HitachiDSP::read(uint24 addr) -> uint8 {
data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp:12:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(addr, 0);
data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp:18:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return ram.read(addr);
data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp:42:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(addr, data);
data/higan-106/higan/sfc/coprocessor/hitachidsp/memory.cpp:53:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return ram.read(Bus::mirror(addr, ram.size()), data);
data/higan-106/higan/sfc/coprocessor/mcc/mcc.cpp:23:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return memory.read(addr, data);
data/higan-106/higan/sfc/coprocessor/mcc/mcc.cpp:90:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto MCC::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/mcc/mcc.hpp:16:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/msu1/msu1.cpp:126:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return dataFile->read();
data/higan-106/higan/sfc/coprocessor/necdsp/necdsp.cpp:18:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto NECDSP::read(uint24 addr, uint8) -> uint8 {
data/higan-106/higan/sfc/coprocessor/necdsp/necdsp.hpp:5:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/nss/nss.cpp:14:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto NSS::read(uint24, uint8) -> uint8 {
data/higan-106/higan/sfc/coprocessor/nss/nss.hpp:5:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/obc1/obc1.cpp:18:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto OBC1::read(uint24 addr, uint8) -> uint8 {
data/higan-106/higan/sfc/coprocessor/obc1/obc1.cpp:63:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return ram.read(addr & 0x1fff);
data/higan-106/higan/sfc/coprocessor/obc1/obc1.hpp:5:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/sa1/bus.cpp:7:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SA1::CPUIRAM::read(uint24 addr, uint8) -> uint8 {
data/higan-106/higan/sfc/coprocessor/sa1/bus.cpp:9:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return sa1.iram.read(addr & 0x07ff);
data/higan-106/higan/sfc/coprocessor/sa1/bus.cpp:21:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SA1::CPUBWRAM::read(uint24 addr, uint8) -> uint8 {
data/higan-106/higan/sfc/coprocessor/sa1/bus.cpp:24:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return sa1.bwram.read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/dma.cpp:29:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data = iram.read(dsa & 0x07ff);
data/higan-106/higan/sfc/coprocessor/sa1/dma.cpp:85:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        data |= (uint64)bwram.read((bwaddr + byte) & bwmask) << (byte << 3);
data/higan-106/higan/sfc/coprocessor/sa1/dma.cpp:110:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return iram.read((mmio.dda + (addr & charmask)) & 0x07ff);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:21:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return iram.read(addr & 2047, data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:26:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return iram.read(addr & 2047, data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:31:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bwram.read(addr & (bwram.size() - 1), data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:88:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bwram.read(addr & (bwram.size() - 1), data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:92:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bwram.read(addr & (bwram.size() - 1), data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:96:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return iram.read(addr & 2047, data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:100:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return iram.read(addr & 2047, data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:115:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SA1::read(uint24 addr) -> uint8 {
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:140:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return sa1.rom.read(bus.mirror(addr, sa1.rom.size()));
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:147:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(lo && mmio.cbmode == 0) return read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:148:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read((mmio.cb << 20) | (addr & 0x0fffff));
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:152:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(lo && mmio.dbmode == 0) return read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:153:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read((mmio.db << 20) | (addr & 0x0fffff));
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:157:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(lo && mmio.ebmode == 0) return read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:158:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read((mmio.eb << 20) | (addr & 0x0fffff));
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:162:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(lo && mmio.fbmode == 0) return read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:163:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read((mmio.fb << 20) | (addr & 0x0fffff));
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:176:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cpubwram.read(addr);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:180:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return cpubwram.read(addr & 0x0fffff);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:203:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bwram.read(addr, data);
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:230:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 0: return (bwram.read(addr) >> 0) & 15;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:231:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: return (bwram.read(addr) >> 4) & 15;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:238:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 0: return (bwram.read(addr) >> 0) & 3;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:239:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: return (bwram.read(addr) >> 2) & 3;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:240:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 2: return (bwram.read(addr) >> 4) & 3;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:241:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 3: return (bwram.read(addr) >> 6) & 3;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:252:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 0: data = (bwram.read(addr) & 0xf0) | ((data & 15) << 0); break;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:253:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: data = (bwram.read(addr) & 0x0f) | ((data & 15) << 4); break;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:260:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 0: data = (bwram.read(addr) & 0xfc) | ((data &  3) << 0); break;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:261:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 1: data = (bwram.read(addr) & 0xf3) | ((data &  3) << 2); break;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:262:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 2: data = (bwram.read(addr) & 0xcf) | ((data &  3) << 4); break;
data/higan-106/higan/sfc/coprocessor/sa1/memory.cpp:263:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case 3: data = (bwram.read(addr) & 0x3f) | ((data &  3) << 6); break;
data/higan-106/higan/sfc/coprocessor/sa1/sa1.cpp:38:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read(r.pc);
data/higan-106/higan/sfc/coprocessor/sa1/sa1.hpp:19:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    alwaysinline auto read(uint24, uint8 = 0) -> uint8;
data/higan-106/higan/sfc/coprocessor/sa1/sa1.hpp:25:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    alwaysinline auto read(uint24, uint8 = 0) -> uint8;
data/higan-106/higan/sfc/coprocessor/sa1/sa1.hpp:49:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  alwaysinline auto read(uint24 addr) -> uint8 override;
data/higan-106/higan/sfc/coprocessor/sdd1/decompressor.cpp:282:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SDD1::Decompressor::read() -> uint8 {
data/higan-106/higan/sfc/coprocessor/sdd1/decompressor.hpp:80:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8;
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:34:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SDD1::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:47:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return rom.read(addr);
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:81:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 0: return rom.read(r4804.bits(0,3) << 20 | addr.bits(0,19));  //c0-cf:0000-ffff
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:82:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 1: return rom.read(r4805.bits(0,3) << 20 | addr.bits(0,19));  //d0-df:0000-ffff
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:83:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 2: return rom.read(r4806.bits(0,3) << 20 | addr.bits(0,19));  //e0-ef:0000-ffff
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:84:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  case 3: return rom.read(r4807.bits(0,3) << 20 | addr.bits(0,19));  //f0-ff:0000-ffff
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:97:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(addr);
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:114:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          data = decompressor.read();
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.cpp:136:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return ram.read(addr.bits(0,12), data);
data/higan-106/higan/sfc/coprocessor/sdd1/sdd1.hpp:5:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/sharprtc/sharprtc.cpp:51:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SharpRTC::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/sharprtc/sharprtc.hpp:9:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/spc7110/data.cpp:6:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return drom.read(Bus::mirror(offset, drom.size()));
data/higan-106/higan/sfc/coprocessor/spc7110/decompressor.cpp:10:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8 {
data/higan-106/higan/sfc/coprocessor/spc7110/decompressor.cpp:41:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input = read();
data/higan-106/higan/sfc/coprocessor/spc7110/decompressor.cpp:42:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input = input << 8 | read();
data/higan-106/higan/sfc/coprocessor/spc7110/decompressor.cpp:104:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            input += read();
data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.cpp:98:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SPC7110::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.cpp:252:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return prom.read(bus.mirror(0x000000 + addr, prom.size()));
data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.cpp:261:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return prom.read(bus.mirror(0x100000 + addr, prom.size()));
data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.cpp:293:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return ram.read(addr);
data/higan-106/higan/sfc/coprocessor/spc7110/spc7110.hpp:14:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/coprocessor/superfx/bus.cpp:7:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SuperFX::CPUROM::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/superfx/bus.cpp:15:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return superfx.rom.read(addr, data);
data/higan-106/higan/sfc/coprocessor/superfx/bus.cpp:26:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SuperFX::CPURAM::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/superfx/bus.cpp:28:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return superfx.ram.read(addr, data);
data/higan-106/higan/sfc/coprocessor/superfx/core.cpp:68:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data |= ((read(addr + byte) >> x) & 1) << n;
data/higan-106/higan/sfc/coprocessor/superfx/core.cpp:97:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data |= read(addr + byte) & ~cache.bitpend;
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:1:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SuperFX::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:8:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read((((addr & 0x3f0000) >> 1) | (addr & 0x7fff)) & romMask);
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:17:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rom.read(addr & romMask);
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:26:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return ram.read(addr & ramMask);
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:51:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        cache.buffer[dp++] = read(sp++);
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:64:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(regs.pbr << 16 | addr);
data/higan-106/higan/sfc/coprocessor/superfx/memory.cpp:69:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read(regs.pbr << 16 | addr);
data/higan-106/higan/sfc/coprocessor/superfx/superfx.hpp:14:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint24, uint8) -> uint8;
data/higan-106/higan/sfc/coprocessor/superfx/superfx.hpp:20:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto read(uint24, uint8) -> uint8;
data/higan-106/higan/sfc/coprocessor/superfx/superfx.hpp:33:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data = 0x00) -> uint8 override;
data/higan-106/higan/sfc/coprocessor/superfx/timing.cpp:6:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      regs.romdr = read((regs.rombr << 16) + regs.r[14]);
data/higan-106/higan/sfc/coprocessor/superfx/timing.cpp:41:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return read(0x700000 + (regs.rambr << 16) + addr);
data/higan-106/higan/sfc/cpu/cpu.cpp:48:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      r.pc.byte(0) = bus.read(0xfffc, r.mdr);
data/higan-106/higan/sfc/cpu/cpu.cpp:49:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      r.pc.byte(1) = bus.read(0xfffd, r.mdr);
data/higan-106/higan/sfc/cpu/cpu.hpp:42:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr) -> uint8 override;
data/higan-106/higan/sfc/cpu/dma.cpp:27:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(abus, r.mdr);
data/higan-106/higan/sfc/cpu/dma.cpp:50:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r.mdr = dmaTransferValid(bbus, abus) ? bus.read(0x2100 | bbus, r.mdr) : (uint8)0x00;
data/higan-106/higan/sfc/cpu/io.cpp:11:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return bus.read(0x7e0000 | io.wramAddress++, r.mdr);
data/higan-106/higan/sfc/cpu/memory.cpp:8:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint24 addr) -> uint8 {
data/higan-106/higan/sfc/cpu/memory.cpp:12:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto data = bus.read(addr, r.mdr);
data/higan-106/higan/sfc/cpu/memory.cpp:36:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(addr, r.mdr);
data/higan-106/higan/sfc/dsp/dsp.cpp:205:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto DSP::read(uint8 addr) -> uint8 {
data/higan-106/higan/sfc/dsp/dsp.hpp:12:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint8 addr) -> uint8;
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:8:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  resetVector.byte(0) = bus.read(0xfffc, 0x00);
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:9:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  resetVector.byte(1) = bus.read(0xfffd, 0x00);
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:11:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bus.map({&S21FX::read, this}, {&S21FX::write, this}, "00-3f,80-bf:2184-21ff");
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:12:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bus.map({&S21FX::read, this}, {&S21FX::write, this}, "00:fffc-fffd");
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:21:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(auto buffer = file::read({platform->path(ID::System), "21fx.rom"})) {
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:66:14:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
    {&S21FX::usleep, this},
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:69:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    {&S21FX::read, this},
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:76:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto S21FX::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:114:13:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
auto S21FX::usleep(uint microseconds) -> void {
data/higan-106/higan/sfc/expansion/21fx/21fx.cpp:129:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto S21FX::read() -> uint8 {
data/higan-106/higan/sfc/expansion/21fx/21fx.hpp:9:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/expansion/21fx/21fx.hpp:14:8:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
  auto usleep(uint) -> void;
data/higan-106/higan/sfc/expansion/21fx/21fx.hpp:17:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8;
data/higan-106/higan/sfc/expansion/satellaview/satellaview.cpp:6:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bus.map({&Satellaview::read, this}, {&Satellaview::write, this}, "00-3f,80-bf:2188-219f");
data/higan-106/higan/sfc/expansion/satellaview/satellaview.cpp:14:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Satellaview::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/expansion/satellaview/satellaview.hpp:5:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/memory/memory-inline.hpp:13:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto StaticRAM::read(uint24 addr, uint8) -> uint8 { return _data[addr]; }
data/higan-106/higan/sfc/memory/memory-inline.hpp:37:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto MappedRAM::read(uint24 addr, uint8) -> uint8 { return _data[addr]; }
data/higan-106/higan/sfc/memory/memory-inline.hpp:68:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Bus::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/memory/memory.cpp:30:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  const function<uint8 (uint24, uint8)>& read,
data/higan-106/higan/sfc/memory/memory.cpp:39:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader[id] = read;
data/higan-106/higan/sfc/memory/memory.hpp:3:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read(uint24 addr, uint8 data = 0) -> uint8 = 0;
data/higan-106/higan/sfc/memory/memory.hpp:14:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read(uint24 addr, uint8 data = 0) -> uint8;
data/higan-106/higan/sfc/memory/memory.hpp:32:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read(uint24 addr, uint8 data = 0) -> uint8;
data/higan-106/higan/sfc/memory/memory.hpp:48:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  alwaysinline auto read(uint24 addr, uint8 data) -> uint8;
data/higan-106/higan/sfc/memory/memory.hpp:53:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const function<uint8 (uint24, uint8)>& read,
data/higan-106/higan/sfc/ppu/io.cpp:26:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return obj.oam.read(addr);
data/higan-106/higan/sfc/ppu/object/oam.cpp:1:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto PPU::OAM::read(uint10 addr) -> uint8 {
data/higan-106/higan/sfc/ppu/object/object.hpp:2:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint10 addr) -> uint8;
data/higan-106/higan/sfc/slot/bsmemory/bsmemory.cpp:30:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto BSMemory::read(uint24 addr, uint8 data) -> uint8 {
data/higan-106/higan/sfc/slot/bsmemory/bsmemory.cpp:32:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return memory.read(bus.mirror(addr, memory.size()), data);
data/higan-106/higan/sfc/slot/bsmemory/bsmemory.cpp:58:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return memory.read(addr, data);
data/higan-106/higan/sfc/slot/bsmemory/bsmemory.hpp:7:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint24 addr, uint8) -> uint8;
data/higan-106/higan/sfc/smp/memory.cpp:42:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return dsp.read(io.dspAddr & 0x7f);
data/higan-106/higan/sfc/smp/memory.cpp:204:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto SMP::read(uint16 addr) -> uint8 {
data/higan-106/higan/sfc/smp/smp.cpp:28:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(iplrom, 64);
data/higan-106/higan/sfc/smp/smp.hpp:66:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr) -> uint8 override;
data/higan-106/higan/target-tomoko/configuration/configuration.cpp:5:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Markup::Node::operator=(BML::unserialize(string::read(locate("settings.bml"))));
data/higan-106/higan/target-tomoko/program/program.cpp:88:5:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
    usleep(20 * 1000);
data/higan-106/higan/target-tomoko/program/state.cpp:13:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto memory = file::read(location);
data/higan-106/higan/target-tomoko/tools/cheat-database.cpp:22:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto contents = string::read(locate("cheats.bml"));
data/higan-106/higan/target-tomoko/tools/cheat-editor.cpp:134:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto contents = string::read({program->mediumPaths(1), "higan/cheats.bml"});
data/higan-106/higan/target-tomoko/tools/game-notes.cpp:10:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto contents = string::read({program->mediumPaths(1), "higan/notes.txt"});
data/higan-106/higan/target-tomoko/tools/state-manager.cpp:31:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    buffer = file::read(program->stateName(1 + item.offset(), true));
data/higan-106/higan/target-tomoko/tools/state-manager.cpp:48:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    buffer = file::read(program->stateName(1 + item.offset(), true));
data/higan-106/higan/target-tomoko/tools/state-manager.cpp:65:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto buffer = file::read(program->stateName(1 + slot, true));
data/higan-106/higan/target-tomoko/tools/state-manager.cpp:80:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto buffer = file::read(program->stateName(1 + item.offset(), true));
data/higan-106/higan/ws/apu/apu.cpp:32:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = iram.read((r.waveBase << 6) + (--channel << 4) + (index >> 1));
data/higan-106/higan/ws/apu/dma.cpp:10:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8 data = bus.read(s.source);
data/higan-106/higan/ws/cartridge/cartridge.cpp:73:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(rom.data, rom.size);
data/higan-106/higan/ws/cartridge/cartridge.cpp:87:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fp->read(ram.data, ram.size);
data/higan-106/higan/ws/cartridge/cartridge.cpp:98:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fp->read(eeprom.data(), eeprom.size());
data/higan-106/higan/ws/cartridge/cartridge.cpp:112:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        fp->read(rtc.data, rtc.size);
data/higan-106/higan/ws/cartridge/io.cpp:15:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00c4) return eeprom.read(EEPROM::DataLo);
data/higan-106/higan/ws/cartridge/io.cpp:16:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00c5) return eeprom.read(EEPROM::DataHi);
data/higan-106/higan/ws/cartridge/io.cpp:19:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00c6) return eeprom.read(EEPROM::AddressLo);
data/higan-106/higan/ws/cartridge/io.cpp:20:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00c7) return eeprom.read(EEPROM::AddressHi);
data/higan-106/higan/ws/cartridge/io.cpp:23:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00c8) return eeprom.read(EEPROM::Status);
data/higan-106/higan/ws/cpu/cpu.cpp:31:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto CPU::read(uint20 addr) -> uint8 {
data/higan-106/higan/ws/cpu/cpu.cpp:32:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return bus.read(addr);
data/higan-106/higan/ws/cpu/cpu.hpp:18:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint20 addr) -> uint8 override;
data/higan-106/higan/ws/cpu/dma.cpp:14:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data |= read(r.dmaSource + 0) << 0;
data/higan-106/higan/ws/cpu/dma.cpp:15:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data |= read(r.dmaSource + 1) << 8;
data/higan-106/higan/ws/eeprom/eeprom.cpp:34:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto EEPROM::read(uint port) -> uint8 {
data/higan-106/higan/ws/eeprom/eeprom.hpp:26:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint) -> uint8;
data/higan-106/higan/ws/memory/memory.cpp:16:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto InternalRAM::read(uint16 addr, uint size) -> uint32 {
data/higan-106/higan/ws/memory/memory.cpp:17:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size == Long) return read(addr + 0, Word) << 0 | read(addr + 2, Word) << 16;
data/higan-106/higan/ws/memory/memory.cpp:17:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size == Long) return read(addr + 0, Word) << 0 | read(addr + 2, Word) << 16;
data/higan-106/higan/ws/memory/memory.cpp:18:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size == Word) return read(addr + 0, Byte) << 0 | read(addr + 1, Byte) <<  8;
data/higan-106/higan/ws/memory/memory.cpp:18:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(size == Word) return read(addr + 0, Byte) << 0 | read(addr + 1, Byte) <<  8;
data/higan-106/higan/ws/memory/memory.cpp:33:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto Bus::read(uint20 addr) -> uint8 {
data/higan-106/higan/ws/memory/memory.cpp:35:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr.bits(16,19) == 0) data = iram.read(addr);
data/higan-106/higan/ws/memory/memory.hpp:10:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint16 addr, uint size = Byte) -> uint32;
data/higan-106/higan/ws/memory/memory.hpp:20:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint20 addr) -> uint8;
data/higan-106/higan/ws/ppu/latch.cpp:46:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    l.oam[s.field][index] = iram.read(spriteBase + (spriteIndex++ << 2), Long);
data/higan-106/higan/ws/ppu/render.cpp:7:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint16 data = iram.read(offset + (y << 1), Word);
data/higan-106/higan/ws/ppu/render.cpp:11:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint32 data = iram.read(offset + (y << 2), Long);
data/higan-106/higan/ws/ppu/render.cpp:21:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8 data = iram.read(offset + (y << 1) + (x >> 2));
data/higan-106/higan/ws/ppu/render.cpp:25:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8 data = iram.read(offset + (y << 2) + (x >> 1));
data/higan-106/higan/ws/ppu/render.cpp:45:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return iram.read(0xfe00 + (palette << 5) + (color << 1), Word);
data/higan-106/higan/ws/ppu/render.cpp:54:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint12 color = iram.read(0xfe00 + (l.backColor << 1), Word);
data/higan-106/higan/ws/ppu/render.cpp:67:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 tile = iram.read(tilemapOffset, Word);
data/higan-106/higan/ws/ppu/render.cpp:89:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint16 tile = iram.read(tilemapOffset, Word);
data/higan-106/higan/ws/system/io.cpp:11:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00ba) return eeprom.read(EEPROM::DataLo);
data/higan-106/higan/ws/system/io.cpp:12:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00bb) return eeprom.read(EEPROM::DataHi);
data/higan-106/higan/ws/system/io.cpp:15:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00bc) return eeprom.read(EEPROM::AddressLo);
data/higan-106/higan/ws/system/io.cpp:16:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00bd) return eeprom.read(EEPROM::AddressHi);
data/higan-106/higan/ws/system/io.cpp:19:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(addr == 0x00be) return eeprom.read(EEPROM::Status);
data/higan-106/higan/ws/system/system.cpp:37:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp->read(eeprom.data(), eeprom.size());
data/higan-106/hiro/gtk/settings.cpp:5:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto document = BML::unserialize(file::read({path, "gtk.bml"}));
data/higan-106/hiro/gtk/window.cpp:309:9:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
        usleep(20 * 1000);
data/higan-106/hiro/qt/application.cpp:37:5:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
    usleep(2000);
data/higan-106/hiro/qt/settings.cpp:5:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto document = BML::unserialize(file::read({path, "qt.bml"}));
data/higan-106/hiro/qt/widget/text-edit.cpp:56:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  signed lastCharacter = strlen(qtTextEdit->toPlainText().toUtf8().constData());
data/higan-106/hiro/qt/window.cpp:163:9:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
        usleep(20 * 1000);
data/higan-106/hiro/windows/application.cpp:211:60:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if(auto resource = GlobalAlloc(GMEM_MOVEABLE, (wcslen(output) + 1) * sizeof(wchar_t))) {
data/higan-106/hiro/windows/window.cpp:147:9:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
        usleep(20 * 1000);
data/higan-106/icarus/core/core.cpp:2:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.famicom = BML::unserialize(string::read(locate("Database/Famicom.bml")));
data/higan-106/icarus/core/core.cpp:3:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.superFamicom = BML::unserialize(string::read(locate("Database/Super Famicom.bml")));
data/higan-106/icarus/core/core.cpp:4:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.masterSystem = BML::unserialize(string::read(locate("Database/Master System.bml")));
data/higan-106/icarus/core/core.cpp:5:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.megaDrive = BML::unserialize(string::read(locate("Database/Mega Drive.bml")));
data/higan-106/icarus/core/core.cpp:6:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.pcEngine = BML::unserialize(string::read(locate("Database/PC Engine.bml")));
data/higan-106/icarus/core/core.cpp:7:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.superGrafx = BML::unserialize(string::read(locate("Database/SuperGrafx.bml")));
data/higan-106/icarus/core/core.cpp:8:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.gameBoy = BML::unserialize(string::read(locate("Database/Game Boy.bml")));
data/higan-106/icarus/core/core.cpp:9:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.gameBoyColor = BML::unserialize(string::read(locate("Database/Game Boy Color.bml")));
data/higan-106/icarus/core/core.cpp:10:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.gameBoyAdvance = BML::unserialize(string::read(locate("Database/Game Boy Advance.bml")));
data/higan-106/icarus/core/core.cpp:11:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.gameGear = BML::unserialize(string::read(locate("Database/Game Gear.bml")));
data/higan-106/icarus/core/core.cpp:12:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.wonderSwan = BML::unserialize(string::read(locate("Database/WonderSwan.bml")));
data/higan-106/icarus/core/core.cpp:13:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.wonderSwanColor = BML::unserialize(string::read(locate("Database/WonderSwan Color.bml")));
data/higan-106/icarus/core/core.cpp:14:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.bsMemory = BML::unserialize(string::read(locate("Database/BS Memory.bml")));
data/higan-106/icarus/core/core.cpp:15:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  database.sufamiTurbo = BML::unserialize(string::read(locate("Database/Sufami Turbo.bml")));
data/higan-106/icarus/core/core.cpp:71:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto buffer = file::read(location);
data/higan-106/icarus/core/core.cpp:103:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(auto input = file::read(location)) {
data/higan-106/icarus/settings.cpp:7:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Markup::Node::operator=(BML::unserialize(string::read(locate("settings.bml"))));
data/higan-106/nall/beat/archive.hpp:40:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    File input{location, file::mode::read};
data/higan-106/nall/beat/archive.hpp:44:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while(size--) beat.write(input.read());
data/higan-106/nall/beat/archive.hpp:59:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  File beat{beatname, file::mode::read};
data/higan-106/nall/beat/archive.hpp:64:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while(size--) beat.read();
data/higan-106/nall/beat/archive.hpp:84:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while(size--) output.write(beat.read());
data/higan-106/nall/beat/archive.hpp:94:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  File beat{beatname, file::mode::read};
data/higan-106/nall/beat/archive.hpp:115:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range(size)) result[n] = beat.read();
data/higan-106/nall/beat/delta.hpp:50:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/delta.hpp:56:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(targetFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/file.hpp:7:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t override;
data/higan-106/nall/beat/file.hpp:12:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto File::read() -> uint8_t {
data/higan-106/nall/beat/file.hpp:13:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  uint8_t data = file::read();
data/higan-106/nall/beat/linear.hpp:42:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/linear.hpp:48:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(targetFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/metadata.hpp:21:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(sourceFile.open(filename, file::mode::read) == false) return false;
data/higan-106/nall/beat/metadata.hpp:24:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return sourceFile.read();
data/higan-106/nall/beat/metadata.hpp:30:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8_t x = read();
data/higan-106/nall/beat/metadata.hpp:39:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'B') return false;
data/higan-106/nall/beat/metadata.hpp:40:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'P') return false;
data/higan-106/nall/beat/metadata.hpp:41:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'S') return false;
data/higan-106/nall/beat/metadata.hpp:42:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != '1') return false;
data/higan-106/nall/beat/metadata.hpp:47:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < metadataSize; n++) data[n] = read();
data/higan-106/nall/beat/metadata.hpp:61:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return sourceFile.read();
data/higan-106/nall/beat/metadata.hpp:67:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8_t x = read();
data/higan-106/nall/beat/metadata.hpp:96:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < 4; n++) write(read());
data/higan-106/nall/beat/metadata.hpp:105:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < length; n++) write(read());
data/higan-106/nall/beat/multi.hpp:42:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        sp.open({sourcePath, targetName}, file::mode::read);
data/higan-106/nall/beat/multi.hpp:43:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        dp.open({targetPath, targetName}, file::mode::read);
data/higan-106/nall/beat/multi.hpp:49:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          uint8_t byte = sp.read();
data/higan-106/nall/beat/multi.hpp:50:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          if(identical && byte != dp.read()) identical = false;
data/higan-106/nall/beat/multi.hpp:76:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          auto buffer = file::read({Path::temp(), "temp.bps"});
data/higan-106/nall/beat/multi.hpp:83:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        auto buffer = file::read({targetPath, targetName});
data/higan-106/nall/beat/multi.hpp:101:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    fp.open(patchName, file::mode::read);
data/higan-106/nall/beat/multi.hpp:106:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while(metadataLength--) read();
data/higan-106/nall/beat/multi.hpp:120:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        while(fileSize--) fp.write(read());
data/higan-106/nall/beat/multi.hpp:129:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        for(uint n = 0; n < patchSize; n++) buffer[n] = read();
data/higan-106/nall/beat/multi.hpp:145:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read() != (uint8_t)(cksum >>  0)) return false;
data/higan-106/nall/beat/multi.hpp:146:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read() != (uint8_t)(cksum >>  8)) return false;
data/higan-106/nall/beat/multi.hpp:147:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read() != (uint8_t)(cksum >> 16)) return false;
data/higan-106/nall/beat/multi.hpp:148:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read() != (uint8_t)(cksum >> 24)) return false;
data/higan-106/nall/beat/multi.hpp:203:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t {
data/higan-106/nall/beat/multi.hpp:204:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint8_t data = fp.read();
data/higan-106/nall/beat/multi.hpp:212:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8_t x = read();
data/higan-106/nall/beat/multi.hpp:225:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while(length--) *p++ = read();
data/higan-106/nall/beat/multi.hpp:231:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    checksum |= read() <<  0;
data/higan-106/nall/beat/multi.hpp:232:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    checksum |= read() <<  8;
data/higan-106/nall/beat/multi.hpp:233:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    checksum |= read() << 16;
data/higan-106/nall/beat/multi.hpp:234:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    checksum |= read() << 24;
data/higan-106/nall/beat/patch.hpp:98:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(modifyFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/patch.hpp:103:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(sourceFile.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/beat/patch.hpp:142:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8_t x = read();
data/higan-106/nall/beat/patch.hpp:156:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'B') return result::patch_invalid_header;
data/higan-106/nall/beat/patch.hpp:157:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'P') return result::patch_invalid_header;
data/higan-106/nall/beat/patch.hpp:158:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != 'S') return result::patch_invalid_header;
data/higan-106/nall/beat/patch.hpp:159:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read() != '1') return result::patch_invalid_header;
data/higan-106/nall/beat/patch.hpp:164:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < modifyMarkupSize; n++) read();
data/higan-106/nall/beat/patch.hpp:179:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while(length--) write(read());
data/higan-106/nall/beat/patch.hpp:200:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < 32; n += 8) modifySourceChecksum |= read() << n;
data/higan-106/nall/beat/patch.hpp:201:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < 32; n += 8) modifyTargetChecksum |= read() << n;
data/higan-106/nall/beat/patch.hpp:203:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  for(uint n = 0; n < 32; n += 8) modifyModifyChecksum |= read() << n;
data/higan-106/nall/decode/bmp.hpp:22:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto buffer = file::read(filename);
data/higan-106/nall/decode/bmp.hpp:29:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read(p, 2) != 0x4d42) return false;  //signature
data/higan-106/nall/decode/bmp.hpp:30:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(p, 8);
data/higan-106/nall/decode/bmp.hpp:31:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint offset = read(p, 4);
data/higan-106/nall/decode/bmp.hpp:32:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read(p, 4) != 40) return false;  //DIB size
data/higan-106/nall/decode/bmp.hpp:33:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int width = read(p, 4);
data/higan-106/nall/decode/bmp.hpp:35:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int height = read(p, 4);
data/higan-106/nall/decode/bmp.hpp:38:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(p, 2);
data/higan-106/nall/decode/bmp.hpp:39:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint bitsPerPixel = read(p, 2);
data/higan-106/nall/decode/bmp.hpp:41:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(read(p, 4) != 0) return false;  //compression type
data/higan-106/nall/decode/bmp.hpp:56:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        *output++ = read(p, bytesPerPixel) | (bitsPerPixel == 24 ? 255u << 24 : 0);
data/higan-106/nall/decode/bmp.hpp:58:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(paddingLength) read(p, paddingLength);
data/higan-106/nall/decode/bmp.hpp:69:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(const uint8_t*& buffer, uint length) -> uintmax {
data/higan-106/nall/decode/gzip.hpp:24:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(auto memory = file::read(filename)) {
data/higan-106/nall/decode/png.hpp:54:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read(const uint8_t* data, uint length) -> uint;
data/higan-106/nall/decode/png.hpp:65:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(auto memory = file::read(filename)) {
data/higan-106/nall/decode/png.hpp:73:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read(sourceData + 0, 4) != 0x89504e47) return false;
data/higan-106/nall/decode/png.hpp:74:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if(read(sourceData + 4, 4) != 0x0d0a1a0a) return false;
data/higan-106/nall/decode/png.hpp:81:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint length   = read(sourceData + offset + 0, 4);
data/higan-106/nall/decode/png.hpp:82:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint fourCC   = read(sourceData + offset + 4, 4);
data/higan-106/nall/decode/png.hpp:83:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint checksum = read(sourceData + offset + 8 + length, 4);
data/higan-106/nall/decode/png.hpp:86:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.width             = read(sourceData + offset +  8, 4);
data/higan-106/nall/decode/png.hpp:87:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.height            = read(sourceData + offset + 12, 4);
data/higan-106/nall/decode/png.hpp:88:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.bitDepth          = read(sourceData + offset + 16, 1);
data/higan-106/nall/decode/png.hpp:89:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.colorType         = read(sourceData + offset + 17, 1);
data/higan-106/nall/decode/png.hpp:90:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.compressionMethod = read(sourceData + offset + 18, 1);
data/higan-106/nall/decode/png.hpp:91:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.filterType        = read(sourceData + offset + 19, 1);
data/higan-106/nall/decode/png.hpp:92:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      info.interlaceMethod   = read(sourceData + offset + 20, 1);
data/higan-106/nall/decode/png.hpp:297:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto PNG::read(const uint8_t* data, uint length) -> uint {
data/higan-106/nall/decode/zip.hpp:26:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(fm.open(filename, filemap::mode::read) == false) return false;
data/higan-106/nall/decode/zip.hpp:45:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(read(footer, 4) == 0x06054b50) {
data/higan-106/nall/decode/zip.hpp:46:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        uint commentlength = read(footer + 20, 2);
data/higan-106/nall/decode/zip.hpp:51:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const uint8_t* directory = data + read(footer + 16, 4);
data/higan-106/nall/decode/zip.hpp:54:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint signature = read(directory + 0, 4);
data/higan-106/nall/decode/zip.hpp:58:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      file.cmode = read(directory + 10, 2);
data/higan-106/nall/decode/zip.hpp:59:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      file.crc32 = read(directory + 16, 4);
data/higan-106/nall/decode/zip.hpp:60:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      file.csize = read(directory + 20, 4);
data/higan-106/nall/decode/zip.hpp:61:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      file.size  = read(directory + 24, 4);
data/higan-106/nall/decode/zip.hpp:63:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint namelength = read(directory + 28, 2);
data/higan-106/nall/decode/zip.hpp:64:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint extralength = read(directory + 30, 2);
data/higan-106/nall/decode/zip.hpp:65:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint commentlength = read(directory + 32, 2);
data/higan-106/nall/decode/zip.hpp:73:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint offset = read(directory + 42, 4);
data/higan-106/nall/decode/zip.hpp:74:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint offsetNL = read(data + offset + 26, 2);
data/higan-106/nall/decode/zip.hpp:75:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint offsetEL = read(data + offset + 28, 2);
data/higan-106/nall/decode/zip.hpp:113:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(const uint8_t* data, uint size) -> uint {
data/higan-106/nall/dsp/resampler/cubic.hpp:10:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read() -> double { return samples.read(); }
data/higan-106/nall/dsp/resampler/cubic.hpp:10:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read() -> double { return samples.read(); }
data/higan-106/nall/emulation/21fx.hpp:23:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t;
data/higan-106/nall/emulation/21fx.hpp:27:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint offset, uint length) -> vector<uint8_t>;
data/higan-106/nall/emulation/21fx.hpp:32:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint offset) -> uint8_t;
data/higan-106/nall/emulation/21fx.hpp:55:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while(readable()) read();
data/higan-106/nall/emulation/21fx.hpp:56:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto iplrom = read(0x2184, 122);
data/higan-106/nall/emulation/21fx.hpp:73:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto FX::read() -> uint8_t {
data/higan-106/nall/emulation/21fx.hpp:74:22:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
  while(!readable()) usleep(1000);
data/higan-106/nall/emulation/21fx.hpp:76:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  device.read(buffer, 1);
data/higan-106/nall/emulation/21fx.hpp:85:22:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
  while(!writable()) usleep(1000);
data/higan-106/nall/emulation/21fx.hpp:92:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto FX::read(uint offset, uint length) -> vector<uint8_t> {
data/higan-106/nall/emulation/21fx.hpp:105:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while(length--) buffer.append(read());
data/higan-106/nall/emulation/21fx.hpp:138:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto FX::read(uint offset) -> uint8_t {
data/higan-106/nall/emulation/21fx.hpp:139:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto buffer = read(offset, 1);
data/higan-106/nall/file.hpp:14:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  enum class mode : uint { read, write, modify, append, readwrite = modify, writeread = append };
data/higan-106/nall/file.hpp:20:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(rd.open(sourcename, mode::read) == false) return false;
data/higan-106/nall/file.hpp:22:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(uint n = 0; n < rd.size(); n++) wr.write(rd.read());
data/higan-106/nall/file.hpp:75:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  static auto read(const string& filename) -> vector<uint8_t> {
data/higan-106/nall/file.hpp:78:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(fp.open(filename, mode::read)) {
data/higan-106/nall/file.hpp:80:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      fp.read(memory.data(), memory.size());
data/higan-106/nall/file.hpp:85:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  static auto read(const string& filename, uint8_t* data, uint size) -> bool {
data/higan-106/nall/file.hpp:87:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(fp.open(filename, mode::read) == false) return false;
data/higan-106/nall/file.hpp:88:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    fp.read(data, size);
data/higan-106/nall/file.hpp:118:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto buffer = read(filename);
data/higan-106/nall/file.hpp:122:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t {
data/higan-106/nall/file.hpp:133:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data |= (uintmax)read() << (i << 3);
data/higan-106/nall/file.hpp:142:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      data |= read();
data/higan-106/nall/file.hpp:150:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto& byte : result) byte = read();
data/higan-106/nall/file.hpp:154:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint8_t* buffer, uint length) -> void {
data/higan-106/nall/file.hpp:155:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while(length--) *buffer++ = read();
data/higan-106/nall/file.hpp:160:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(file_mode == mode::read) return;  //writes not permitted
data/higan-106/nall/file.hpp:211:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(file_mode == mode::read) {     //cannot seek past end of file
data/higan-106/nall/file.hpp:259:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case mode::read:      fp = fopen(filename, "rb" ); break;
data/higan-106/nall/file.hpp:264:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case mode::read:      fp = _wfopen(utf16_t(filename), L"rb" ); break;
data/higan-106/nall/file.hpp:306:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mode file_mode = mode::read;
data/higan-106/nall/file.hpp:321:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(file_mode == mode::read) return;  //buffer cannot be written to
data/higan-106/nall/filemap.hpp:22:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  enum class mode : unsigned { read, write, readwrite, writeread };
data/higan-106/nall/filemap.hpp:63:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case mode::read:
data/higan-106/nall/filemap.hpp:155:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    case mode::read:
data/higan-106/nall/http/response.hpp:124:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    filemap map(file(), filemap::mode::read);
data/higan-106/nall/image/base.hpp:53:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline auto read(const uint8_t* data) const -> uint64_t;
data/higan-106/nall/image/blend.hpp:13:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint64_t sourceColor = source.read(sp);
data/higan-106/nall/image/blend.hpp:14:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint64_t targetColor = read(dp);
data/higan-106/nall/image/core.hpp:111:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto image::read(const uint8_t* data) const -> uint64_t {
data/higan-106/nall/image/load.hpp:7:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto buffer = file::read(filename);
data/higan-106/nall/image/load.hpp:36:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto buffer = file::read(filename);
data/higan-106/nall/image/scale.hpp:37:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t a = read(sp);
data/higan-106/nall/image/scale.hpp:38:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t b = read(sp + stride());
data/higan-106/nall/image/scale.hpp:52:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      b = read(sp);
data/higan-106/nall/image/scale.hpp:73:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t a = read(sp);
data/higan-106/nall/image/scale.hpp:74:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t b = read(sp + pitch());
data/higan-106/nall/image/scale.hpp:88:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      b = read(sp);
data/higan-106/nall/image/scale.hpp:113:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t a = read(sp);
data/higan-106/nall/image/scale.hpp:114:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t b = read(sp + stride());
data/higan-106/nall/image/scale.hpp:115:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t c = read(sp + pitch());
data/higan-106/nall/image/scale.hpp:116:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t d = read(sp + pitch() + stride());
data/higan-106/nall/image/scale.hpp:131:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      b = read(sp);
data/higan-106/nall/image/scale.hpp:132:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      d = read(sp + pitch());
data/higan-106/nall/image/scale.hpp:158:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint64_t a = read(sp);
data/higan-106/nall/image/scale.hpp:170:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      a = read(sp);
data/higan-106/nall/image/utility.hpp:17:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      write(dp, read(sp));
data/higan-106/nall/image/utility.hpp:39:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint64_t color = read(dp);
data/higan-106/nall/image/utility.hpp:65:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint64_t color = read(dp);
data/higan-106/nall/image/utility.hpp:97:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint64_t color = read(sp);
data/higan-106/nall/platform.hpp:80:15:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
  inline auto usleep(unsigned milliseconds) -> void { Sleep(milliseconds / 1000); }
data/higan-106/nall/queue.hpp:80:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> T {
data/higan-106/nall/run.hpp:62:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto size = read(fdout[0], buffer, sizeof(buffer));
data/higan-106/nall/run.hpp:71:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto size = read(fderr[0], buffer, sizeof(buffer));
data/higan-106/nall/run.hpp:163:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DWORD read, available, remaining;
data/higan-106/nall/run.hpp:164:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(!PeekNamedPipe(stdoutRead, nullptr, sizeof(buffer), &read, &available, &remaining)) break;
data/higan-106/nall/run.hpp:167:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(!ReadFile(stdoutRead, buffer, sizeof(buffer), &read, nullptr)) break;
data/higan-106/nall/run.hpp:171:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    result.output.resize(offset + read);
data/higan-106/nall/run.hpp:172:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    memory::copy(result.output.get() + offset, buffer, read);
data/higan-106/nall/run.hpp:176:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DWORD read, available, remaining;
data/higan-106/nall/run.hpp:177:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(!PeekNamedPipe(stderrRead, nullptr, sizeof(buffer), &read, &available, &remaining)) break;
data/higan-106/nall/run.hpp:180:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if(!ReadFile(stderrRead, buffer, sizeof(buffer), &read, nullptr)) break;
data/higan-106/nall/run.hpp:184:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    result.error.resize(offset + read);
data/higan-106/nall/run.hpp:185:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    memory::copy(result.error.get() + offset, buffer, read);
data/higan-106/nall/serial.hpp:37:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(uint8_t* data, uint length) -> int {
data/higan-106/nall/serial.hpp:39:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return ::read(port, (void*)data, length);
data/higan-106/nall/smtp.hpp:107:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto buffer = file::read(filename);
data/higan-106/nall/string.hpp:262:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline static auto read(string_view filename) -> string;
data/higan-106/nall/string/cast.hpp:38:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:45:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:52:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:59:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:66:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:74:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:82:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:91:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:98:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:105:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:112:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:119:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:127:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:135:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:144:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:151:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:158:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:165:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:196:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/cast.hpp:203:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  auto size() const -> uint { return strlen(_data); }
data/higan-106/nall/string/core.hpp:75:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return strlen(data());
data/higan-106/nall/string/transform/cml.hpp:39:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  string document = settings.reader ? settings.reader(filename) : string::read(filename);
data/higan-106/nall/string/transform/cml.hpp:65:79:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      string document = settings.reader ? settings.reader(filename) : string::read(filename);
data/higan-106/nall/string/transform/dml.hpp:51:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  string document = settings.reader ? settings.reader(filename) : string::read(filename);
data/higan-106/nall/string/transform/dml.hpp:72:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    string document = settings.reader ? settings.reader(filename) : string::read(filename);
data/higan-106/nall/string/utility.hpp:5:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
auto string::read(string_view filename) -> string {
data/higan-106/nall/string/utility.hpp:144:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      char* p = buffer + strlen(buffer) - 1;
data/higan-106/nall/string/utility.hpp:153: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).
  uint length = strlen(buffer);
data/higan-106/nall/string/view.hpp:81:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if(_size < 0) _size = strlen(_data);
data/higan-106/nall/varint.hpp:10:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read() -> uint8_t = 0;
data/higan-106/nall/varint.hpp:16:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      uint8_t x = read();
data/higan-106/nall/vfs/fs/file.hpp:26:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t override {
data/higan-106/nall/vfs/fs/file.hpp:27:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return _fp.read();
data/higan-106/nall/vfs/memory/file.hpp:22:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read() -> uint8_t override {
data/higan-106/nall/vfs/vfs.hpp:9:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  enum class mode : uint { read, write, modify, create };
data/higan-106/nall/vfs/vfs.hpp:18:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual auto read() -> uint8_t = 0;
data/higan-106/nall/vfs/vfs.hpp:26:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  auto read(void* vdata, uintmax bytes) -> void {
data/higan-106/nall/vfs/vfs.hpp:28:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while(bytes--) *data++ = read();
data/higan-106/nall/vfs/vfs.hpp:33:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range(bytes)) data |= (uintmax)read() << n * 8;
data/higan-106/nall/vfs/vfs.hpp:39:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for(auto n : range(bytes)) data = data << 8 | read();
data/higan-106/nall/vfs/vfs.hpp:46:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(s.get<uint8_t>(), s.size());
data/higan-106/nall/windows/launcher.hpp:43:38:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  memcpy(entryHook + 14, buffer, 2 * wcslen(buffer) + 2);
data/higan-106/nall/windows/registry.hpp:41:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  static auto read(const string& name) -> string {
data/higan-106/ruby/audio/asio.cpp:101:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if(auto classID = registry::read({"HKLM\\SOFTWARE\\ASIO\\", candidate, "CLSID"})) {
data/higan-106/ruby/audio/asio.cpp:199:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          samples[n] = _queue.samples[_queue.read][n];
data/higan-106/ruby/audio/asio.cpp:263:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16_t read;
data/higan-106/ruby/audio/openal.cpp:174:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      list += strlen(list) + 1;
data/higan-106/ruby/audio/wasapi.cpp:201:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            samples[n] = _queue.samples[_queue.read][n];
data/higan-106/ruby/audio/wasapi.cpp:242:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint16_t read;
data/higan-106/ruby/input/joypad/udev.cpp:69:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while((length = read(jp.fd, events, sizeof(events))) > 0) {
data/higan-106/ruby/ruby.cpp:14:8:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
#undef usleep
data/higan-106/ruby/video/opengl/main.hpp:15:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto document = BML::unserialize(file::read({pathname, "manifest.bml"}));
data/higan-106/ruby/video/opengl/program.hpp:18:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    string source = file::read({pathname, node["vertex"].text()});
data/higan-106/ruby/video/opengl/program.hpp:26:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    string source = file::read({pathname, node["geometry"].text()});
data/higan-106/ruby/video/opengl/program.hpp:35:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    string source = file::read({pathname, node["fragment"].text()});

ANALYSIS SUMMARY:

Hits = 2434
Lines analyzed = 136560 in approximately 4.11 seconds (33204 lines/second)
Physical Source Lines of Code (SLOC) = 109308
Hits@level = [0]  19 [1] 1233 [2] 816 [3] 134 [4] 251 [5]   0
Hits@level+ = [0+] 2453 [1+] 2434 [2+] 1201 [3+] 385 [4+] 251 [5+]   0
Hits/KSLOC@level+ = [0+] 22.4412 [1+] 22.2674 [2+] 10.9873 [3+] 3.52216 [4+] 2.29626 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.