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/wesnoth-1.14-1.14.13/doc/design/gui2/progress_bar.cpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/progress_bar.hpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/unit_attack.cpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/unit_attack.hpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/widget_definition.cpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/widget_definition.hpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/window_builder.cpp Examining data/wesnoth-1.14-1.14.13/doc/design/gui2/window_builder.hpp Examining data/wesnoth-1.14-1.14.13/doc/doxygen/doxygen.cpp Examining data/wesnoth-1.14-1.14.13/projectfiles/VC12/WindowsTimeout.cpp Examining data/wesnoth-1.14-1.14.13/projectfiles/VC16/WindowsTimeout.cpp Examining data/wesnoth-1.14-1.14.13/src/about.cpp Examining data/wesnoth-1.14-1.14.13/src/about.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/advancement.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/advancement.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/attack.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/attack.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/create.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/create.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/heal.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/heal.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/move.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/move.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/shroud_clearing_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/shroud_clearing_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_dismiss_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_dismiss_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_move_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_move_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_recall_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_recall_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_recruit_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_recruit_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_update_shroud_action.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/undo_update_shroud_action.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/unit_creator.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/unit_creator.hpp Examining data/wesnoth-1.14-1.14.13/src/actions/vision.cpp Examining data/wesnoth-1.14-1.14.13/src/actions/vision.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/client.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/client.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/info.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/info.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/manager_ui.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/manager_ui.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/state.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/state.hpp Examining data/wesnoth-1.14-1.14.13/src/addon/validation.cpp Examining data/wesnoth-1.14-1.14.13/src/addon/validation.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/actions.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/actions.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/ai.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/ai.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/aspect.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/aspect.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/component.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/component.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/contexts.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/contexts.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/engine.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/engine.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/goal.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/goal.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/property_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/rca.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/rca.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/stage.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/stage.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/composite/value_translator.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/configuration.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/configuration.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/contexts.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/contexts.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/aspect_attacks.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/aspect_attacks.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/attack.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/ca.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/ca.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/ca_move_to_targets.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/ca_move_to_targets.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/contexts.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/contexts.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/engine_cpp.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/engine_cpp.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/recruitment.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/recruitment.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/stage_rca.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/default/stage_rca.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/ai.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/ai.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/callable_objects.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/callable_objects.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/candidates.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/candidates.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/engine_fai.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/engine_fai.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/function_table.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/function_table.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/stage_side_formulas.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/stage_side_formulas.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/stage_unit_formulas.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/formula/stage_unit_formulas.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/game_info.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/game_info.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/gamestate_observer.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/gamestate_observer.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/aspect_advancements.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/aspect_advancements.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/core.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/core.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/engine_lua.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/engine_lua.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/lua_object.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/lua/lua_object.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/registry.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/registry.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/simulated_actions.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/simulated_actions.hpp Examining data/wesnoth-1.14-1.14.13/src/ai/testing.cpp Examining data/wesnoth-1.14-1.14.13/src/ai/testing.hpp Examining data/wesnoth-1.14-1.14.13/src/animated.cpp Examining data/wesnoth-1.14-1.14.13/src/animated.hpp Examining data/wesnoth-1.14-1.14.13/src/arrow.cpp Examining data/wesnoth-1.14-1.14.13/src/arrow.hpp Examining data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp Examining data/wesnoth-1.14-1.14.13/src/attack_prediction.hpp Examining data/wesnoth-1.14-1.14.13/src/boilerplate-header.cpp Examining data/wesnoth-1.14-1.14.13/src/boost-patched/bind/arg.hpp Examining data/wesnoth-1.14-1.14.13/src/buffered_istream.hpp Examining data/wesnoth-1.14-1.14.13/src/build_info.hpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/addon_utils.cpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/addon_utils.hpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/blacklist.cpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/blacklist.hpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.hpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/control.hpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/fs_commit.cpp Examining data/wesnoth-1.14-1.14.13/src/campaign_server/fs_commit.hpp Examining data/wesnoth-1.14-1.14.13/src/carryover.cpp Examining data/wesnoth-1.14-1.14.13/src/carryover.hpp Examining data/wesnoth-1.14-1.14.13/src/chat_command_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/chat_command_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/chat_events.cpp Examining data/wesnoth-1.14-1.14.13/src/chat_events.hpp Examining data/wesnoth-1.14-1.14.13/src/chat_log.cpp Examining data/wesnoth-1.14-1.14.13/src/chat_log.hpp Examining data/wesnoth-1.14-1.14.13/src/color.cpp Examining data/wesnoth-1.14-1.14.13/src/color.hpp Examining data/wesnoth-1.14-1.14.13/src/color_range.cpp Examining data/wesnoth-1.14-1.14.13/src/color_range.hpp Examining data/wesnoth-1.14-1.14.13/src/commandline_options.cpp Examining data/wesnoth-1.14-1.14.13/src/commandline_options.hpp Examining data/wesnoth-1.14-1.14.13/src/config.cpp Examining data/wesnoth-1.14-1.14.13/src/config.hpp Examining data/wesnoth-1.14-1.14.13/src/config_attribute_value.cpp Examining data/wesnoth-1.14-1.14.13/src/config_attribute_value.hpp Examining data/wesnoth-1.14-1.14.13/src/config_cache.cpp Examining data/wesnoth-1.14-1.14.13/src/config_cache.hpp Examining data/wesnoth-1.14-1.14.13/src/configr_assign.hpp Examining data/wesnoth-1.14-1.14.13/src/controller_base.cpp Examining data/wesnoth-1.14-1.14.13/src/controller_base.hpp Examining data/wesnoth-1.14-1.14.13/src/countdown_clock.cpp Examining data/wesnoth-1.14-1.14.13/src/countdown_clock.hpp Examining data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c Examining data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.h Examining data/wesnoth-1.14-1.14.13/src/cursor.cpp Examining data/wesnoth-1.14-1.14.13/src/cursor.hpp Examining data/wesnoth-1.14-1.14.13/src/deprecation.cpp Examining data/wesnoth-1.14-1.14.13/src/deprecation.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/apple_battery_info.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/apple_notification.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/apple_version.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/battery_info.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/battery_info.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/clipboard.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/clipboard.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/dbus_features.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/dbus_features.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/notifications.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/notifications.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/open.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/open.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/paths.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/paths.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/version.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/version.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/windows_battery_info.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/windows_battery_info.hpp Examining data/wesnoth-1.14-1.14.13/src/desktop/windows_tray_notification.cpp Examining data/wesnoth-1.14-1.14.13/src/desktop/windows_tray_notification.hpp Examining data/wesnoth-1.14-1.14.13/src/display.cpp Examining data/wesnoth-1.14-1.14.13/src/display.hpp Examining data/wesnoth-1.14-1.14.13/src/display_chat_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/display_chat_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/display_context.cpp Examining data/wesnoth-1.14-1.14.13/src/display_context.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_base.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_item.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_item.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_label.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_label.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_select.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_select.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_unit.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_unit.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_village.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/action_village.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_item.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_item.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_map_label.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_map_label.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_select.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_select.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_unit.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_unit.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_village.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/action/mouse/mouse_action_village.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/controller/editor_controller.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/controller/editor_controller.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/editor_common.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/editor_display.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/editor_display.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/editor_main.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/editor_main.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/context_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/context_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/editor_map.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/editor_map.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/map_context.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/map_context.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/map_fragment.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/map/map_fragment.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/common_palette.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/editor_palettes.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/editor_palettes.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/empty_palette.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/item_palette.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/item_palette.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/location_palette.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/location_palette.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/palette_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/palette_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/terrain_palettes.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/terrain_palettes.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/tristate_button.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/tristate_button.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/unit_palette.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/palette/unit_palette.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/toolkit/brush.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/toolkit/brush.hpp Examining data/wesnoth-1.14-1.14.13/src/editor/toolkit/editor_toolkit.cpp Examining data/wesnoth-1.14-1.14.13/src/editor/toolkit/editor_toolkit.hpp Examining data/wesnoth-1.14-1.14.13/src/events.cpp Examining data/wesnoth-1.14-1.14.13/src/events.hpp Examining data/wesnoth-1.14-1.14.13/src/exceptions.hpp Examining data/wesnoth-1.14-1.14.13/src/fake_unit_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/fake_unit_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/fake_unit_ptr.cpp Examining data/wesnoth-1.14-1.14.13/src/fake_unit_ptr.hpp Examining data/wesnoth-1.14-1.14.13/src/filesystem.hpp Examining data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp Examining data/wesnoth-1.14-1.14.13/src/filesystem_common.cpp Examining data/wesnoth-1.14-1.14.13/src/filesystem_sdl.cpp Examining data/wesnoth-1.14-1.14.13/src/filter_context.hpp Examining data/wesnoth-1.14-1.14.13/src/floating_label.cpp Examining data/wesnoth-1.14-1.14.13/src/floating_label.hpp Examining data/wesnoth-1.14-1.14.13/src/floating_textbox.cpp Examining data/wesnoth-1.14-1.14.13/src/floating_textbox.hpp Examining data/wesnoth-1.14-1.14.13/src/font/constants.cpp Examining data/wesnoth-1.14-1.14.13/src/font/constants.hpp Examining data/wesnoth-1.14-1.14.13/src/font/error.hpp Examining data/wesnoth-1.14-1.14.13/src/font/font_config.cpp Examining data/wesnoth-1.14-1.14.13/src/font/font_config.hpp Examining data/wesnoth-1.14-1.14.13/src/font/font_description.hpp Examining data/wesnoth-1.14-1.14.13/src/font/font_id.hpp Examining data/wesnoth-1.14-1.14.13/src/font/font_options.hpp Examining data/wesnoth-1.14-1.14.13/src/font/marked-up_text.cpp Examining data/wesnoth-1.14-1.14.13/src/font/marked-up_text.hpp Examining data/wesnoth-1.14-1.14.13/src/font/pango/escape.hpp Examining data/wesnoth-1.14-1.14.13/src/font/pango/font.hpp Examining data/wesnoth-1.14-1.14.13/src/font/pango/hyperlink.hpp Examining data/wesnoth-1.14-1.14.13/src/font/pango/stream_ops.hpp Examining data/wesnoth-1.14-1.14.13/src/font/sdl_ttf.cpp Examining data/wesnoth-1.14-1.14.13/src/font/sdl_ttf.hpp Examining data/wesnoth-1.14-1.14.13/src/font/standard_colors.cpp Examining data/wesnoth-1.14-1.14.13/src/font/standard_colors.hpp Examining data/wesnoth-1.14-1.14.13/src/font/text.cpp Examining data/wesnoth-1.14-1.14.13/src/font/text.hpp Examining data/wesnoth-1.14-1.14.13/src/font/text_cache.cpp Examining data/wesnoth-1.14-1.14.13/src/font/text_cache.hpp Examining data/wesnoth-1.14-1.14.13/src/font/text_formatting.cpp Examining data/wesnoth-1.14-1.14.13/src/font/text_formatting.hpp Examining data/wesnoth-1.14-1.14.13/src/font/text_surface.cpp Examining data/wesnoth-1.14-1.14.13/src/font/text_surface.hpp Examining data/wesnoth-1.14-1.14.13/src/format_time_summary.cpp Examining data/wesnoth-1.14-1.14.13/src/format_time_summary.hpp Examining data/wesnoth-1.14-1.14.13/src/formatter.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/callable.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/callable_fwd.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/callable_objects.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/callable_objects.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/debugger.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/debugger.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/debugger_fwd.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/debugger_fwd.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/formula.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/formula.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/formula_fwd.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/function.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/function.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/function_gamestate.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/function_gamestate.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/string_utils.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/string_utils.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/tokenizer.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/tokenizer.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/variant.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/variant.hpp Examining data/wesnoth-1.14-1.14.13/src/formula/variant_value.cpp Examining data/wesnoth-1.14-1.14.13/src/formula/variant_value.hpp Examining data/wesnoth-1.14-1.14.13/src/game_board.cpp Examining data/wesnoth-1.14-1.14.13/src/game_board.hpp Examining data/wesnoth-1.14-1.14.13/src/game_classification.cpp Examining data/wesnoth-1.14-1.14.13/src/game_classification.hpp Examining data/wesnoth-1.14-1.14.13/src/game_config.cpp Examining data/wesnoth-1.14-1.14.13/src/game_config.hpp Examining data/wesnoth-1.14-1.14.13/src/game_config_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/game_config_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/game_data.cpp Examining data/wesnoth-1.14-1.14.13/src/game_data.hpp Examining data/wesnoth-1.14-1.14.13/src/game_display.cpp Examining data/wesnoth-1.14-1.14.13/src/game_display.hpp Examining data/wesnoth-1.14-1.14.13/src/game_end_exceptions.cpp Examining data/wesnoth-1.14-1.14.13/src/game_end_exceptions.hpp Examining data/wesnoth-1.14-1.14.13/src/game_errors.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/action_wml.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/action_wml.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/conditional_wml.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/conditional_wml.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/entity_location.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/entity_location.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/fwd.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/handlers.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/handlers.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/manager_impl.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/manager_impl.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/menu_item.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/menu_item.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/pump.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/pump.hpp Examining data/wesnoth-1.14-1.14.13/src/game_events/wmi_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/game_events/wmi_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/configure_engine.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/configure_engine.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/connect_engine.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/connect_engine.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/create_engine.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/create_engine.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/depcheck.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/depcheck.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/flg_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/flg_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/lobby_data.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/lobby_data.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/lobby_info.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/lobby_info.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/mp_game_utils.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/mp_game_utils.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/multiplayer.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/multiplayer.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/playcampaign.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/playcampaign.hpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/singleplayer.cpp Examining data/wesnoth-1.14-1.14.13/src/game_initialization/singleplayer.hpp Examining data/wesnoth-1.14-1.14.13/src/game_launcher.hpp Examining data/wesnoth-1.14-1.14.13/src/game_state.cpp Examining data/wesnoth-1.14-1.14.13/src/game_state.hpp Examining data/wesnoth-1.14-1.14.13/src/game_version.cpp Examining data/wesnoth-1.14-1.14.13/src/game_version.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/cave_map_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/cave_map_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/default_map_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/default_map_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/default_map_generator_job.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/default_map_generator_job.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/lua_map_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/lua_map_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/map_create.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/map_create.hpp Examining data/wesnoth-1.14-1.14.13/src/generators/map_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/generators/map_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/generic_event.cpp Examining data/wesnoth-1.14-1.14.13/src/generic_event.hpp Examining data/wesnoth-1.14-1.14.13/src/gettext.hpp Examining data/wesnoth-1.14-1.14.13/src/gettext_boost.cpp Examining data/wesnoth-1.14-1.14.13/src/global.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/field-fwd.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/field.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/filter.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/find_widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/exception.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/iterator.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/iterator.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/policy_order.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/policy_visit.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_grid.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_grid.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_tree_node.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_tree_node.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_widget.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/iterator/walker_widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/old_markup.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/old_markup.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/tips.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/tips.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/auxiliary/typed_formula.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/canvas.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/canvas.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/canvas_private.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/dispatcher.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/dispatcher.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/dispatcher_private.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/distributor.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/distributor.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/handler.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/handler.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/event/message.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/gui_definition.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/gui_definition.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/layout_exception.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/linked_group_definition.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/linked_group_definition.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/log.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/log.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/notifiee.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/notifier.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer/horizontal_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer/horizontal_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer/vertical_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/placer/vertical_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/register_widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/static_registry.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/static_registry.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/timer.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/timer.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/widget_definition.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/widget_definition.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder/helper.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder/helper.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder/instance.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/core/window_builder/instance.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/connect.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/connect.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/install_dependencies.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/install_dependencies.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/uninstall_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/addon/uninstall_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/advanced_graphics_options.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/advanced_graphics_options.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/attack_predictions.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/attack_predictions.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/campaign_difficulty.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/campaign_difficulty.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/campaign_selection.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/campaign_selection.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/chat_log.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/chat_log.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/core_selection.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/core_selection.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/debug_clock.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/debug_clock.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/depcheck_confirm_change.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/depcheck_confirm_change.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/depcheck_select_new.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/depcheck_select_new.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/drop_down_menu.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/drop_down_menu.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/edit_label.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/edit_label.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/edit_text.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/edit_text.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/custom_tod.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/custom_tod.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_label.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_label.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_scenario.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_scenario.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_side.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/edit_side.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/generate_map.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/generate_map.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/generator_settings.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/generator_settings.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/new_map.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/new_map.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/resize_map.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/resize_map.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/set_starting_position.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/editor/set_starting_position.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/end_credits.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/end_credits.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/file_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/file_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/folder_create.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/folder_create.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/formula_debugger.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/formula_debugger.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_cache_options.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_cache_options.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_delete.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_delete.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_load.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_load.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_save.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_save.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_stats.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_stats.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_version_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/game_version_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/gamestate_inspector.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/gamestate_inspector.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/help_browser.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/help_browser.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/hotkey_bind.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/hotkey_bind.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/label_settings.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/label_settings.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/language_selection.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/language_selection.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/loading_screen.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/loading_screen.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/log_settings.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/log_settings.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/lua_interpreter.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/lua_interpreter.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/message.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/message.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/modal_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/modal_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/modeless_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/modeless_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/faction_select.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/faction_select.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/lobby.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/lobby.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_alerts_options.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_alerts_options.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_change_control.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_change_control.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_connect.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_connect.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_create_game.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_create_game.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_host_game_prompt.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_host_game_prompt.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_join_game.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_join_game.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_join_game_password_prompt.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_join_game_password_prompt.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_login.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_login.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_method_selection.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_method_selection.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_options_helper.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_options_helper.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_staging.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/mp_staging.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/player_info.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/player_info.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/player_list_helper.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/player_list_helper.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/plugin_executor.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/synced_choice_wait.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/multiplayer/synced_choice_wait.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/network_transmission.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/network_transmission.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/outro.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/outro.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/preferences_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/preferences_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/screenshot_notification.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/screenshot_notification.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/select_orb_colors.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/select_orb_colors.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/simple_item_selector.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/simple_item_selector.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/sp_options_configure.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/sp_options_configure.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/statistics_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/statistics_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/story_viewer.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/story_viewer.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/surrender_quit.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/surrender_quit.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/terrain_layers.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/terrain_layers.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/theme_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/theme_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/title_screen.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/title_screen.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/tooltip.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/tooltip.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/transient_message.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/transient_message.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_advance.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_advance.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_attack.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_attack.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_create.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_create.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_recall.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_recall.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_recruit.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/unit_recruit.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/wml_error.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/wml_error.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/wml_message.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/dialogs/wml_message.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/gui.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/gui.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/addon_list.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/addon_list.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/button.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/button.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/chatbox.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/chatbox.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/clickable_item.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/container_base.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/container_base.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/debug.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/debug.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/drawing.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/drawing.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/event_executor.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/generator.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/generator.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/generator_private.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/grid.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/grid.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/grid_private.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/group.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/helper.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/helper.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/horizontal_scrollbar.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/horizontal_scrollbar.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/image.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/image.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/integer_selector.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/label.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/label.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/listbox.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/listbox.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/matrix.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/matrix.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/menu_button.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/menu_button.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/minimap.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/minimap.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/multi_page.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/multi_page.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/multimenu_button.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/multimenu_button.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/pane.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/pane.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/panel.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/panel.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/password_box.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/password_box.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/progress_bar.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/progress_bar.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/repeating_button.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/repeating_button.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/retval.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scroll_label.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scroll_label.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar_container.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar_container.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar_container_private.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar_panel.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/scrollbar_panel.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/selectable_item.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/settings.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/settings.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/size_lock.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/size_lock.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/slider.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/slider.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/slider_base.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/slider_base.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/spacer.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/spacer.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/stacked_widget.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/stacked_widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/status_label_helper.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/styled_widget.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/styled_widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/text_box.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/text_box.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/text_box_base.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/text_box_base.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/toggle_button.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/toggle_button.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/toggle_panel.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/toggle_panel.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/tree_view.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/tree_view.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/tree_view_node.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/tree_view_node.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/unit_preview_pane.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/unit_preview_pane.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/vertical_scrollbar.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/vertical_scrollbar.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/viewport.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/viewport.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/widget.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/widget.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/widget_helpers.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/widget_helpers.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/window.cpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/window.hpp Examining data/wesnoth-1.14-1.14.13/src/gui/widgets/window_private.hpp Examining data/wesnoth-1.14-1.14.13/src/halo.cpp Examining data/wesnoth-1.14-1.14.13/src/halo.hpp Examining data/wesnoth-1.14-1.14.13/src/hash.cpp Examining data/wesnoth-1.14-1.14.13/src/hash.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help_browser.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help_browser.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help_impl.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help_impl.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help_menu.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help_menu.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help_text_area.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help_text_area.hpp Examining data/wesnoth-1.14-1.14.13/src/help/help_topic_generators.cpp Examining data/wesnoth-1.14-1.14.13/src/help/help_topic_generators.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/command_executor.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/command_executor.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_command.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_command.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler_mp.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler_mp.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler_sp.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_handler_sp.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_item.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_item.hpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/hotkey/hotkey_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/image_modifications.cpp Examining data/wesnoth-1.14-1.14.13/src/image_modifications.hpp Examining data/wesnoth-1.14-1.14.13/src/joystick.cpp Examining data/wesnoth-1.14-1.14.13/src/joystick.hpp Examining data/wesnoth-1.14-1.14.13/src/key.cpp Examining data/wesnoth-1.14-1.14.13/src/key.hpp Examining data/wesnoth-1.14-1.14.13/src/language.cpp Examining data/wesnoth-1.14-1.14.13/src/language.hpp Examining data/wesnoth-1.14-1.14.13/src/lexical_cast.hpp Examining data/wesnoth-1.14-1.14.13/src/libc_error.hpp Examining data/wesnoth-1.14-1.14.13/src/log.cpp Examining data/wesnoth-1.14-1.14.13/src/log.hpp Examining data/wesnoth-1.14-1.14.13/src/log_windows.cpp Examining data/wesnoth-1.14-1.14.13/src/log_windows.hpp Examining data/wesnoth-1.14-1.14.13/src/lua/lapi.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lapi.h Examining data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lauxlib.h Examining data/wesnoth-1.14-1.14.13/src/lua/lbaselib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lbitlib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lcode.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lcode.h Examining data/wesnoth-1.14-1.14.13/src/lua/lcorolib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lctype.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lctype.h Examining data/wesnoth-1.14-1.14.13/src/lua/ldblib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ldebug.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ldebug.h Examining data/wesnoth-1.14-1.14.13/src/lua/ldo.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ldo.h Examining data/wesnoth-1.14-1.14.13/src/lua/ldump.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lfunc.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lfunc.h Examining data/wesnoth-1.14-1.14.13/src/lua/lgc.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lgc.h Examining data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/llex.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/llex.h Examining data/wesnoth-1.14-1.14.13/src/lua/llimits.h Examining data/wesnoth-1.14-1.14.13/src/lua/lmathlib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lmem.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lmem.h Examining data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lobject.h Examining data/wesnoth-1.14-1.14.13/src/lua/lopcodes.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lopcodes.h Examining data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lparser.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lparser.h Examining data/wesnoth-1.14-1.14.13/src/lua/lprefix.h Examining data/wesnoth-1.14-1.14.13/src/lua/lstate.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lstate.h Examining data/wesnoth-1.14-1.14.13/src/lua/lstring.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lstring.h Examining data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ltable.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ltable.h Examining data/wesnoth-1.14-1.14.13/src/lua/ltablib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ltm.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/ltm.h Examining data/wesnoth-1.14-1.14.13/src/lua/lua.h Examining data/wesnoth-1.14-1.14.13/src/lua/luaconf.h Examining data/wesnoth-1.14-1.14.13/src/lua/lualib.h Examining data/wesnoth-1.14-1.14.13/src/lua/lundump.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lundump.h Examining data/wesnoth-1.14-1.14.13/src/lua/lutf8lib.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lvm.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lvm.h Examining data/wesnoth-1.14-1.14.13/src/lua/lzio.cpp Examining data/wesnoth-1.14-1.14.13/src/lua/lzio.h Examining data/wesnoth-1.14-1.14.13/src/lua_jailbreak_exception.cpp Examining data/wesnoth-1.14-1.14.13/src/lua_jailbreak_exception.hpp Examining data/wesnoth-1.14-1.14.13/src/macosx/SDLMain.h Examining data/wesnoth-1.14-1.14.13/src/map/exception.hpp Examining data/wesnoth-1.14-1.14.13/src/map/label.cpp Examining data/wesnoth-1.14-1.14.13/src/map/label.hpp Examining data/wesnoth-1.14-1.14.13/src/map/location.cpp Examining data/wesnoth-1.14-1.14.13/src/map/location.hpp Examining data/wesnoth-1.14-1.14.13/src/map/map.cpp Examining data/wesnoth-1.14-1.14.13/src/map/map.hpp Examining data/wesnoth-1.14-1.14.13/src/map_command_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/map_settings.cpp Examining data/wesnoth-1.14-1.14.13/src/map_settings.hpp Examining data/wesnoth-1.14-1.14.13/src/menu_events.cpp Examining data/wesnoth-1.14-1.14.13/src/menu_events.hpp Examining data/wesnoth-1.14-1.14.13/src/minimap.cpp Examining data/wesnoth-1.14-1.14.13/src/minimap.hpp Examining data/wesnoth-1.14-1.14.13/src/mouse_events.cpp Examining data/wesnoth-1.14-1.14.13/src/mouse_events.hpp Examining data/wesnoth-1.14-1.14.13/src/mouse_handler_base.cpp Examining data/wesnoth-1.14-1.14.13/src/mouse_handler_base.hpp Examining data/wesnoth-1.14-1.14.13/src/movetype.cpp Examining data/wesnoth-1.14-1.14.13/src/movetype.hpp Examining data/wesnoth-1.14-1.14.13/src/mp_game_settings.cpp Examining data/wesnoth-1.14-1.14.13/src/mp_game_settings.hpp Examining data/wesnoth-1.14-1.14.13/src/mp_ui_alerts.cpp Examining data/wesnoth-1.14-1.14.13/src/mp_ui_alerts.hpp Examining data/wesnoth-1.14-1.14.13/src/mt_rng.cpp Examining data/wesnoth-1.14-1.14.13/src/mt_rng.hpp Examining data/wesnoth-1.14-1.14.13/src/multiplayer_error_codes.hpp Examining data/wesnoth-1.14-1.14.13/src/network_asio.cpp Examining data/wesnoth-1.14-1.14.13/src/network_asio.hpp Examining data/wesnoth-1.14-1.14.13/src/overlay.hpp Examining data/wesnoth-1.14-1.14.13/src/pathfind/astarsearch.cpp Examining data/wesnoth-1.14-1.14.13/src/pathfind/pathfind.cpp Examining data/wesnoth-1.14-1.14.13/src/pathfind/pathfind.hpp Examining data/wesnoth-1.14-1.14.13/src/pathfind/teleport.cpp Examining data/wesnoth-1.14-1.14.13/src/pathfind/teleport.hpp Examining data/wesnoth-1.14-1.14.13/src/pathutils.cpp Examining data/wesnoth-1.14-1.14.13/src/pathutils.hpp Examining data/wesnoth-1.14-1.14.13/src/persist_context.cpp Examining data/wesnoth-1.14-1.14.13/src/persist_context.hpp Examining data/wesnoth-1.14-1.14.13/src/persist_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/persist_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/persist_var.cpp Examining data/wesnoth-1.14-1.14.13/src/persist_var.hpp Examining data/wesnoth-1.14-1.14.13/src/picture.cpp Examining data/wesnoth-1.14-1.14.13/src/picture.hpp Examining data/wesnoth-1.14-1.14.13/src/play_controller.cpp Examining data/wesnoth-1.14-1.14.13/src/play_controller.hpp Examining data/wesnoth-1.14-1.14.13/src/playmp_controller.cpp Examining data/wesnoth-1.14-1.14.13/src/playmp_controller.hpp Examining data/wesnoth-1.14-1.14.13/src/playsingle_controller.cpp Examining data/wesnoth-1.14-1.14.13/src/playsingle_controller.hpp Examining data/wesnoth-1.14-1.14.13/src/playturn.cpp Examining data/wesnoth-1.14-1.14.13/src/playturn.hpp Examining data/wesnoth-1.14-1.14.13/src/playturn_network_adapter.cpp Examining data/wesnoth-1.14-1.14.13/src/playturn_network_adapter.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/credentials.cpp Examining data/wesnoth-1.14-1.14.13/src/preferences/credentials.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/display.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/editor.cpp Examining data/wesnoth-1.14-1.14.13/src/preferences/editor.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/game.cpp Examining data/wesnoth-1.14-1.14.13/src/preferences/game.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/general.cpp Examining data/wesnoth-1.14-1.14.13/src/preferences/general.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/lobby.cpp Examining data/wesnoth-1.14-1.14.13/src/preferences/lobby.hpp Examining data/wesnoth-1.14-1.14.13/src/preferences/display.cpp Examining data/wesnoth-1.14-1.14.13/src/quit_confirmation.cpp Examining data/wesnoth-1.14-1.14.13/src/quit_confirmation.hpp Examining data/wesnoth-1.14-1.14.13/src/random.cpp Examining data/wesnoth-1.14-1.14.13/src/random.hpp Examining data/wesnoth-1.14-1.14.13/src/random_deterministic.cpp Examining data/wesnoth-1.14-1.14.13/src/random_deterministic.hpp Examining data/wesnoth-1.14-1.14.13/src/random_synced.cpp Examining data/wesnoth-1.14-1.14.13/src/random_synced.hpp Examining data/wesnoth-1.14-1.14.13/src/recall_list_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/recall_list_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/replay.cpp Examining data/wesnoth-1.14-1.14.13/src/replay.hpp Examining data/wesnoth-1.14-1.14.13/src/replay_controller.cpp Examining data/wesnoth-1.14-1.14.13/src/replay_controller.hpp Examining data/wesnoth-1.14-1.14.13/src/replay_helper.cpp Examining data/wesnoth-1.14-1.14.13/src/replay_helper.hpp Examining data/wesnoth-1.14-1.14.13/src/replay_recorder_base.cpp Examining data/wesnoth-1.14-1.14.13/src/replay_recorder_base.hpp Examining data/wesnoth-1.14-1.14.13/src/reports.cpp Examining data/wesnoth-1.14-1.14.13/src/reports.hpp Examining data/wesnoth-1.14-1.14.13/src/resources.cpp Examining data/wesnoth-1.14-1.14.13/src/resources.hpp Examining data/wesnoth-1.14-1.14.13/src/save_blocker.cpp Examining data/wesnoth-1.14-1.14.13/src/save_blocker.hpp Examining data/wesnoth-1.14-1.14.13/src/save_index.cpp Examining data/wesnoth-1.14-1.14.13/src/save_index.hpp Examining data/wesnoth-1.14-1.14.13/src/saved_game.cpp Examining data/wesnoth-1.14-1.14.13/src/saved_game.hpp Examining data/wesnoth-1.14-1.14.13/src/savegame.cpp Examining data/wesnoth-1.14-1.14.13/src/savegame.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/application_lua_kernel.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/application_lua_kernel.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/debug_lua.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/debug_lua.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/game_lua_kernel.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/game_lua_kernel.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_audio.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_audio.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_common.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_common.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_cpp_function.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_cpp_function.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_fileops.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_fileops.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_formula_bridge.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_formula_bridge.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_gui2.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_gui2.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_kernel_base.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_kernel_base.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_map_location_ops.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_map_location_ops.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_pathfind_cost_calculator.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_preferences.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_preferences.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_race.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_race.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_rng.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_rng.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_team.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_team.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit_attacks.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit_attacks.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit_type.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/lua_unit_type.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/mapgen_lua_kernel.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/mapgen_lua_kernel.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/plugins/context.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/plugins/context.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/plugins/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/scripting/plugins/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/scripting/push_check.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/exception.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/exception.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/point.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/point.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/rect.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/rect.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/surface.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/surface.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/userevent.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/utils.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/utils.hpp Examining data/wesnoth-1.14-1.14.13/src/sdl/window.cpp Examining data/wesnoth-1.14-1.14.13/src/sdl/window.hpp Examining data/wesnoth-1.14-1.14.13/src/seed_rng.cpp Examining data/wesnoth-1.14-1.14.13/src/seed_rng.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/base64.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/base64.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/binary_or_text.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/binary_or_text.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/compression.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/parser.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/parser.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/schema_validator.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/schema_validator.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/string_utils.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/string_utils.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/string_view.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/tag.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/tag.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/tokenizer.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/tokenizer.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/ucs4_convert_impl.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/ucs4_iterator_base.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/unicode.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/unicode.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/unicode_cast.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/unicode_types.hpp Examining data/wesnoth-1.14-1.14.13/src/serialization/validator.cpp Examining data/wesnoth-1.14-1.14.13/src/serialization/validator.hpp Examining data/wesnoth-1.14-1.14.13/src/server/ban.cpp Examining data/wesnoth-1.14-1.14.13/src/server/ban.hpp Examining data/wesnoth-1.14-1.14.13/src/server/forum_user_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/server/forum_user_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/server/game.cpp Examining data/wesnoth-1.14-1.14.13/src/server/game.hpp Examining data/wesnoth-1.14-1.14.13/src/server/metrics.cpp Examining data/wesnoth-1.14-1.14.13/src/server/metrics.hpp Examining data/wesnoth-1.14-1.14.13/src/server/player.cpp Examining data/wesnoth-1.14-1.14.13/src/server/player.hpp Examining data/wesnoth-1.14-1.14.13/src/server/player_connection.cpp Examining data/wesnoth-1.14-1.14.13/src/server/player_connection.hpp Examining data/wesnoth-1.14-1.14.13/src/server/player_network.cpp Examining data/wesnoth-1.14-1.14.13/src/server/player_network.hpp Examining data/wesnoth-1.14-1.14.13/src/server/sample_user_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/server/sample_user_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/server/server.cpp Examining data/wesnoth-1.14-1.14.13/src/server/server.hpp Examining data/wesnoth-1.14-1.14.13/src/server/server_base.cpp Examining data/wesnoth-1.14-1.14.13/src/server/server_base.hpp Examining data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp Examining data/wesnoth-1.14-1.14.13/src/server/simple_wml.hpp Examining data/wesnoth-1.14-1.14.13/src/server/user_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/server/user_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/show_dialog.cpp Examining data/wesnoth-1.14-1.14.13/src/show_dialog.hpp Examining data/wesnoth-1.14-1.14.13/src/side_filter.cpp Examining data/wesnoth-1.14-1.14.13/src/side_filter.hpp Examining data/wesnoth-1.14-1.14.13/src/sound.cpp Examining data/wesnoth-1.14-1.14.13/src/sound.hpp Examining data/wesnoth-1.14-1.14.13/src/sound_music_track.cpp Examining data/wesnoth-1.14-1.14.13/src/sound_music_track.hpp Examining data/wesnoth-1.14-1.14.13/src/soundsource.cpp Examining data/wesnoth-1.14-1.14.13/src/soundsource.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/catalog.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/catalog_metadata.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/default_plural_forms_compiler.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/default_plural_forms_expressions.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/exceptions.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/po_grammar.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/po_message.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/po_message_adapted.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/spirit_po.hpp Examining data/wesnoth-1.14-1.14.13/src/spirit_po/version.hpp Examining data/wesnoth-1.14-1.14.13/src/statistics.cpp Examining data/wesnoth-1.14-1.14.13/src/statistics.hpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/controller.cpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/controller.hpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/parser.cpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/parser.hpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/part.cpp Examining data/wesnoth-1.14-1.14.13/src/storyscreen/part.hpp Examining data/wesnoth-1.14-1.14.13/src/synced_checkup.cpp Examining data/wesnoth-1.14-1.14.13/src/synced_checkup.hpp Examining data/wesnoth-1.14-1.14.13/src/synced_commands.cpp Examining data/wesnoth-1.14-1.14.13/src/synced_commands.hpp Examining data/wesnoth-1.14-1.14.13/src/synced_context.cpp Examining data/wesnoth-1.14-1.14.13/src/synced_context.hpp Examining data/wesnoth-1.14-1.14.13/src/synced_user_choice.cpp Examining data/wesnoth-1.14-1.14.13/src/synced_user_choice.hpp Examining data/wesnoth-1.14-1.14.13/src/syncmp_handler.cpp Examining data/wesnoth-1.14-1.14.13/src/syncmp_handler.hpp Examining data/wesnoth-1.14-1.14.13/src/team.cpp Examining data/wesnoth-1.14-1.14.13/src/team.hpp Examining data/wesnoth-1.14-1.14.13/src/teambuilder.cpp Examining data/wesnoth-1.14-1.14.13/src/teambuilder.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/builder.cpp Examining data/wesnoth-1.14-1.14.13/src/terrain/builder.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/filter.cpp Examining data/wesnoth-1.14-1.14.13/src/terrain/filter.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/movement.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/terrain.cpp Examining data/wesnoth-1.14-1.14.13/src/terrain/terrain.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/translation.cpp Examining data/wesnoth-1.14-1.14.13/src/terrain/translation.hpp Examining data/wesnoth-1.14-1.14.13/src/terrain/type_data.cpp Examining data/wesnoth-1.14-1.14.13/src/terrain/type_data.hpp Examining data/wesnoth-1.14-1.14.13/src/tests/gui/fire_event.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/gui/iterator.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/gui/test_gui2.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/gui/visitor.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/main.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_addons.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_commandline_options.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_config_cache.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_filesystem.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_formula_ai.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_formula_core.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_formula_function.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_formula_timespan.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_image_modifications.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_irdya_date.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_lexical_cast.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_make_enum.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_map_location.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_mp_connect.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_recall_list.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_rng.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_sdl_utils.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_sdl_utils.hpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_serialization.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_team.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_unit_map.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_util.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_version.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/test_whiteboard_side_actions.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/utils/auto_parameterized.hpp Examining data/wesnoth-1.14-1.14.13/src/tests/utils/fake_display.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/utils/fake_display.hpp Examining data/wesnoth-1.14-1.14.13/src/tests/utils/game_config_manager_tests.cpp Examining data/wesnoth-1.14-1.14.13/src/tests/utils/game_config_manager_tests.hpp Examining data/wesnoth-1.14-1.14.13/src/theme.cpp Examining data/wesnoth-1.14-1.14.13/src/theme.hpp Examining data/wesnoth-1.14-1.14.13/src/time_of_day.cpp Examining data/wesnoth-1.14-1.14.13/src/time_of_day.hpp Examining data/wesnoth-1.14-1.14.13/src/tod_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/tod_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/tooltips.cpp Examining data/wesnoth-1.14-1.14.13/src/tooltips.hpp Examining data/wesnoth-1.14-1.14.13/src/tracer.cpp Examining data/wesnoth-1.14-1.14.13/src/tracer.hpp Examining data/wesnoth-1.14-1.14.13/src/tstring.cpp Examining data/wesnoth-1.14-1.14.13/src/tstring.hpp Examining data/wesnoth-1.14-1.14.13/src/units/abilities.cpp Examining data/wesnoth-1.14-1.14.13/src/units/abilities.hpp Examining data/wesnoth-1.14-1.14.13/src/units/animation.cpp Examining data/wesnoth-1.14-1.14.13/src/units/animation.hpp Examining data/wesnoth-1.14-1.14.13/src/units/animation_component.cpp Examining data/wesnoth-1.14-1.14.13/src/units/animation_component.hpp Examining data/wesnoth-1.14-1.14.13/src/units/attack_type.cpp Examining data/wesnoth-1.14-1.14.13/src/units/attack_type.hpp Examining data/wesnoth-1.14-1.14.13/src/units/drawer.cpp Examining data/wesnoth-1.14-1.14.13/src/units/drawer.hpp Examining data/wesnoth-1.14-1.14.13/src/units/filter.cpp Examining data/wesnoth-1.14-1.14.13/src/units/filter.hpp Examining data/wesnoth-1.14-1.14.13/src/units/formula_manager.cpp Examining data/wesnoth-1.14-1.14.13/src/units/formula_manager.hpp Examining data/wesnoth-1.14-1.14.13/src/units/frame.cpp Examining data/wesnoth-1.14-1.14.13/src/units/frame.hpp Examining data/wesnoth-1.14-1.14.13/src/units/frame_private.hpp Examining data/wesnoth-1.14-1.14.13/src/units/helper.cpp Examining data/wesnoth-1.14-1.14.13/src/units/helper.hpp Examining data/wesnoth-1.14-1.14.13/src/units/id.cpp Examining data/wesnoth-1.14-1.14.13/src/units/id.hpp Examining data/wesnoth-1.14-1.14.13/src/units/make.cpp Examining data/wesnoth-1.14-1.14.13/src/units/make.hpp Examining data/wesnoth-1.14-1.14.13/src/units/map.cpp Examining data/wesnoth-1.14-1.14.13/src/units/map.hpp Examining data/wesnoth-1.14-1.14.13/src/units/ptr.hpp Examining data/wesnoth-1.14-1.14.13/src/units/race.cpp Examining data/wesnoth-1.14-1.14.13/src/units/race.hpp Examining data/wesnoth-1.14-1.14.13/src/units/types.cpp Examining data/wesnoth-1.14-1.14.13/src/units/types.hpp Examining data/wesnoth-1.14-1.14.13/src/units/udisplay.cpp Examining data/wesnoth-1.14-1.14.13/src/units/udisplay.hpp Examining data/wesnoth-1.14-1.14.13/src/units/unit.cpp Examining data/wesnoth-1.14-1.14.13/src/units/unit.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/const_clone.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/context_free_grammar_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/utils/context_free_grammar_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/functional.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/general.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/io.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/irdya_datetime.cpp Examining data/wesnoth-1.14-1.14.13/src/utils/irdya_datetime.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/iterable_pair.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/make_enum.cpp Examining data/wesnoth-1.14-1.14.13/src/utils/make_enum.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/markov_generator.cpp Examining data/wesnoth-1.14-1.14.13/src/utils/markov_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/math.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/name_generator.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/name_generator_factory.cpp Examining data/wesnoth-1.14-1.14.13/src/utils/name_generator_factory.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/reference_counter.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/scope_exit.hpp Examining data/wesnoth-1.14-1.14.13/src/utils/type_trait_aliases.hpp Examining data/wesnoth-1.14-1.14.13/src/variable.cpp Examining data/wesnoth-1.14-1.14.13/src/variable.hpp Examining data/wesnoth-1.14-1.14.13/src/variable_info.cpp Examining data/wesnoth-1.14-1.14.13/src/variable_info.hpp Examining data/wesnoth-1.14-1.14.13/src/variable_info_detail.hpp Examining data/wesnoth-1.14-1.14.13/src/variable_info_private.hpp Examining data/wesnoth-1.14-1.14.13/src/video.cpp Examining data/wesnoth-1.14-1.14.13/src/video.hpp Examining data/wesnoth-1.14-1.14.13/src/wesconfig.h Examining data/wesnoth-1.14-1.14.13/src/wesnoth.cpp Examining data/wesnoth-1.14-1.14.13/src/wesnoth_lua_config.h Examining data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp Examining data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp Examining data/wesnoth-1.14-1.14.13/src/wesnothd_connection_error.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/action.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/action.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/attack.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/attack.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/highlighter.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/highlighter.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/manager.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/manager.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/mapbuilder.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/mapbuilder.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/move.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/move.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/recall.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/recall.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/recruit.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/recruit.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/side_actions.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/side_actions.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/suppose_dead.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/suppose_dead.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/typedefs.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/utility.cpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/utility.hpp Examining data/wesnoth-1.14-1.14.13/src/whiteboard/visitor.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/button.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/button.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/menu.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/menu.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/menu_style.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/scrollarea.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/scrollarea.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/scrollbar.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/scrollbar.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/textbox.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/textbox.hpp Examining data/wesnoth-1.14-1.14.13/src/widgets/widget.cpp Examining data/wesnoth-1.14-1.14.13/src/widgets/widget.hpp Examining data/wesnoth-1.14-1.14.13/src/wml_exception.cpp Examining data/wesnoth-1.14-1.14.13/src/wml_exception.hpp Examining data/wesnoth-1.14-1.14.13/src/wml_separators.hpp Examining data/wesnoth-1.14-1.14.13/src/xBRZ/config.hpp Examining data/wesnoth-1.14-1.14.13/src/xBRZ/xbrz.cpp Examining data/wesnoth-1.14-1.14.13/src/xBRZ/xbrz.hpp Examining data/wesnoth-1.14-1.14.13/src/game_launcher.cpp Examining data/wesnoth-1.14-1.14.13/src/build_info.cpp Examining data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c FINAL RESULTS: data/wesnoth-1.14-1.14.13/src/preferences/general.cpp:172:12: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if(chmod(filesystem::get_prefs_file().c_str(), 0600) == -1) { data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:62:18: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #define debug(x) printf x data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:259:49: [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. void server::handle_read_from_fifo(const boost::system::error_code& error, std::size_t) data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:381: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. void server::handle_sighup(const boost::system::error_code&, int) data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:400: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. void server::handle_flush(const boost::system::error_code& error) data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:404: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. throw boost::system::system_error(error); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:470:3: [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(script.c_str(), script.c_str(), addon.c_str(), static_cast<char *>(nullptr)); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.hpp:106:42: [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. void handle_read_from_fifo(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.hpp:108:34: [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. void handle_sighup(const boost::system::error_code& error, int signal_number); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.hpp:115: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. void handle_flush(const boost::system::error_code& error); data/wesnoth-1.14-1.14.13/src/desktop/open.cpp:75:3: [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(launcher, launcher, path_or_url.c_str(), nullptr); data/wesnoth-1.14-1.14.13/src/desktop/open.cpp:90:52: [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. const ptrdiff_t res = reinterpret_cast<ptrdiff_t>(ShellExecute(nullptr, L"open", u16path.c_str(), nullptr, nullptr, SW_SHOW)); data/wesnoth-1.14-1.14.13/src/desktop/paths.cpp:100: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. namespace bsys = boost::system; data/wesnoth-1.14-1.14.13/src/desktop/version.cpp:142:23: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. scoped_posix_pipe p(popen(cmdline.c_str(), "r")); data/wesnoth-1.14-1.14.13/src/desktop/windows_tray_notification.cpp:141:2: [4] (buffer) lstrcpyW: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). lstrcpyW(nid->szTip, wtip.c_str()); data/wesnoth-1.14-1.14.13/src/desktop/windows_tray_notification.cpp:153:2: [4] (buffer) lstrcpyW: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). lstrcpyW(nid->szInfoTitle, string_to_wstring(title, MAX_TITLE_LENGTH).c_str()); data/wesnoth-1.14-1.14.13/src/desktop/windows_tray_notification.cpp:154:2: [4] (buffer) lstrcpyW: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). lstrcpyW(nid->szInfo, string_to_wstring(message, MAX_MESSAGE_LENGTH).c_str()); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:71: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. using boost::system::error_code; data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:262: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. return (ec && ec.value() != boost::system::errc::no_such_file_or_directory data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:264:27: [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. && ec.value() != boost::system::windows_error::path_not_found data/wesnoth-1.14-1.14.13/src/formula/callable_fwd.hpp:35:17: [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. : name(name), access(access) {} data/wesnoth-1.14-1.14.13/src/formula/callable_fwd.hpp:35:24: [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. : name(name), access(access) {} data/wesnoth-1.14-1.14.13/src/formula/callable_fwd.hpp:38:22: [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. FORMULA_ACCESS_TYPE access; data/wesnoth-1.14-1.14.13/src/game_launcher.cpp:840:11: [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 (std::system(command.c_str()) == 0) { data/wesnoth-1.14-1.14.13/src/gui/dialogs/lua_interpreter.cpp:346:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (cmd_cstr.get(), cmd.c_str()); data/wesnoth-1.14-1.14.13/src/hash.cpp:163:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(hash.hash.data(), bcrypt_salt.c_str()); data/wesnoth-1.14-1.14.13/src/hash.cpp:173:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(hash.hash.data(), input.c_str()); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.h:234:10: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. (fprintf(stderr, (s), (p)), fflush(stderr)) data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:59:40: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #define l_popen(L,c,m) (fflush(NULL), popen(c,m)) data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:627:19: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. ? fprintf(f, LUA_INTEGER_FMT, data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:629:19: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. : fprintf(f, LUA_NUMBER_FMT, data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:286:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buff, s); /* copy string to buffer */ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:122:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(b, LUA_TMPNAMTEMPLATE); \ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:143: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. int stat = system(cmd); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1010:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(form + l - 1, lenmod); data/wesnoth-1.14-1.14.13/src/lua/luaconf.h:606:29: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) data/wesnoth-1.14-1.14.13/src/lua/luaconf.h:608:42: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. #define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:56: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. using boost::system::system_error; data/wesnoth-1.14-1.14.13/src/network_asio.cpp:78:46: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. void connection::handle_resolve(const boost::system::error_code& ec, resolver::iterator iterator) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:93:46: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. void connection::handle_connect(const boost::system::error_code& ec, resolver::iterator iterator) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:122: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. void connection::handle_handshake(const boost::system::error_code& ec) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:160: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. boost::system::error_code ec; data/wesnoth-1.14-1.14.13/src/network_asio.cpp:183:56: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. std::size_t connection::is_write_complete(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:193: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. void connection::handle_write(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:204:55: [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. std::size_t connection::is_read_complete(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/network_asio.cpp:231: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. void connection::handle_read(const boost::system::error_code& ec, std::size_t bytes_transferred, config& response) data/wesnoth-1.14-1.14.13/src/network_asio.hpp:47: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. error(const boost::system::error_code& error) data/wesnoth-1.14-1.14.13/src/network_asio.hpp:77:24: [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. } catch(const boost::system::system_error& err) { data/wesnoth-1.14-1.14.13/src/network_asio.hpp:138: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. void handle_resolve(const boost::system::error_code& ec, resolver::iterator iterator); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:141: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. void handle_connect(const boost::system::error_code& ec, resolver::iterator iterator); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:144: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. void handle_handshake(const boost::system::error_code& ec); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:148: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. std::size_t is_write_complete(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:149: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. void handle_write(const boost::system::error_code& ec, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:151: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. std::size_t is_read_complete(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:152: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. void handle_read(const boost::system::error_code& ec, std::size_t bytes_transferred, config& response); data/wesnoth-1.14-1.14.13/src/preferences/general.cpp:157:31: [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. bool prefs_file_existed = access(filesystem::get_prefs_file().c_str(), F_OK) == 0; data/wesnoth-1.14-1.14.13/src/server/server.cpp:282: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. void server::handle_sighup(const boost::system::error_code& error, int) data/wesnoth-1.14-1.14.13/src/server/server.cpp:295:51: [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. void server::handle_graceful_timeout(const boost::system::error_code& error) data/wesnoth-1.14-1.14.13/src/server/server.cpp:311:51: [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. lan_server_timer_.async_wait([this](const boost::system::error_code& ec) { handle_lan_server_shutdown(ec); }); data/wesnoth-1.14-1.14.13/src/server/server.cpp:319:54: [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. void server::handle_lan_server_shutdown(const boost::system::error_code& error) data/wesnoth-1.14-1.14.13/src/server/server.cpp:344:49: [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. void server::handle_read_from_fifo(const boost::system::error_code& error, std::size_t) data/wesnoth-1.14-1.14.13/src/server/server.cpp:582:51: [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. dump_stats_timer_.async_wait([this](const boost::system::error_code& ec) { dump_stats(ec); }); data/wesnoth-1.14-1.14.13/src/server/server.cpp:585: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. void server::dump_stats(const boost::system::error_code& ec) data/wesnoth-1.14-1.14.13/src/server/server.cpp:2076: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. if(std::system(restart_command.c_str())) { data/wesnoth-1.14-1.14.13/src/server/server.hpp:177:31: [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. void dump_stats(const boost::system::error_code& ec); data/wesnoth-1.14-1.14.13/src/server/server.hpp:193:42: [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. void handle_read_from_fifo(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/server/server.hpp:230:34: [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. void handle_sighup(const boost::system::error_code& error, int signal_number); data/wesnoth-1.14-1.14.13/src/server/server.hpp:234: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. void handle_graceful_timeout(const boost::system::error_code& error); data/wesnoth-1.14-1.14.13/src/server/server.hpp:239:47: [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. void handle_lan_server_shutdown(const boost::system::error_code& error); data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:60: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. [=](const boost::system::error_code& error, int sig) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:72:50: [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. void server_base::accept_connection(const boost::system::error_code& error, socket_ptr socket) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:110:49: [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. void server_base::handle_handshake(const boost::system::error_code& error, socket_ptr socket, boost::shared_array<char> handshake) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:121: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. [=](const boost::system::error_code& error, size_t) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:148:24: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. [=](const boost::system::error_code& error, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:154:51: [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. void server_base::handle_termination(const boost::system::error_code& error, int signal_number) data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:177: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. boost::system::error_code error; data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:185:31: [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. bool check_error(const boost::system::error_code& error, socket_ptr socket) data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:51: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. void accept_connection(const boost::system::error_code& error, socket_ptr socket); data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:58: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. void handle_handshake(const boost::system::error_code& error, socket_ptr socket, boost::shared_array<char> buf); data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:70:50: [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. virtual void handle_read_from_fifo(const boost::system::error_code& error, std::size_t bytes_transferred) = 0; data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:74:42: [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. virtual void handle_sighup(const boost::system::error_code& error, int signal_number) = 0; data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:77: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. void handle_termination(const boost::system::error_code& error, int signal_number); data/wesnoth-1.14-1.14.13/src/server/server_base.hpp:81:31: [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. bool check_error(const boost::system::error_code& error, socket_ptr socket); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:1121:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf, output()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:180:25: [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. variable_access_const access("", c); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:182:22: [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. BOOST_CHECK_THROW (access.as_scalar(), invalid_variablename_exception); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:185:25: [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. variable_access_const access("some_non_existent.", c); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:187:22: [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. BOOST_CHECK_THROW (access.as_scalar(), invalid_variablename_exception); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:190:25: [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. variable_access_const access("some_non_existent[0]value", c); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:192:22: [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. BOOST_CHECK_THROW (access.as_scalar(), invalid_variablename_exception); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:195:25: [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. variable_access_const access("some_non_existent", c); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:197:17: [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. BOOST_CHECK (!access.exists_as_container()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:198:22: [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. BOOST_CHECK_EQUAL (access.as_container(), config()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:199:17: [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. BOOST_CHECK (!access.exists_as_attribute()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:200:22: [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. BOOST_CHECK_EQUAL (access.as_scalar(), config::attribute_value()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:203:25: [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. variable_access_const access("a.b[0].c[1].d.e.f[2]", c); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:205:17: [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. BOOST_CHECK (!access.exists_as_container()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:206:22: [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. BOOST_CHECK_EQUAL (access.as_container(), config()); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:208:22: [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. BOOST_CHECK_THROW (access.as_scalar(), invalid_variablename_exception); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:213:26: [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. variable_access_create access("a.b[0].c[1].d.e.f[2].g", c2); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:214:3: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. access.as_scalar() = 84; data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:225:25: [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. variable_access_throw access("a.b[9].c", c2); data/wesnoth-1.14-1.14.13/src/tests/test_config.cpp:226:21: [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. BOOST_CHECK_THROW(access.as_scalar(), invalid_variablename_exception); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:55: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. using boost::system::error_code; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:56: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. using boost::system::system_error; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:110:55: [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. void wesnothd_connection::handle_connect(const boost::system::error_code& ec, resolver::iterator iterator) data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:190: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. boost::system::error_code ec; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:218:65: [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. std::size_t wesnothd_connection::is_write_complete(const boost::system::error_code& ec, size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:238:53: [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. void wesnothd_connection::handle_write(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:263:64: [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. std::size_t wesnothd_connection::is_read_complete(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:302:52: [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. void wesnothd_connection::handle_read(const boost::system::error_code& ec, std::size_t bytes_transferred) data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:372: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. } catch(const boost::system::system_error& err) { data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:152: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. boost::system::error_code last_error_; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:160: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. void handle_resolve(const boost::system::error_code& ec, resolver::iterator iterator); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:163: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. void handle_connect(const boost::system::error_code& ec, resolver::iterator iterator); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:166: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. void handle_handshake(const boost::system::error_code& ec); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:170: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. std::size_t is_write_complete(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:171: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. void handle_write(const boost::system::error_code& ec, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:173: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. std::size_t is_read_complete(const boost::system::error_code& error, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:174: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. void handle_read(const boost::system::error_code& ec, std::size_t bytes_transferred); data/wesnoth-1.14-1.14.13/src/wesnothd_connection_error.hpp:53: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. wesnothd_connection_error(const boost::system::error_code& error, const std::string& msg = "") data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:34:45: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. static void __attribute__((noreturn, format(printf,1,2))) data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:274:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(cmp, "#%u: %s: %u %u %u %u%% ", battle, data/wesnoth-1.14-1.14.13/projectfiles/VC12/WindowsTimeout.cpp:43:7: [3] (shell) CreateProcess: This causes a new process to execute and is difficult to use safely (CWE-78). Specify the application path in the first argument, NOT as part of the second, or embedded spaces could allow an attacker to force a different program to run. if (!CreateProcess(NULL, argv[1], NULL, NULL, TRUE, 0, NULL, NULL, &info, &pi)) data/wesnoth-1.14-1.14.13/projectfiles/VC12/WindowsTimeout.cpp:43:7: [3] (shell) CreateProcess: This causes a new process to execute and is difficult to use safely (CWE-78). Specify the application path in the first argument, NOT as part of the second, or embedded spaces could allow an attacker to force a different program to run. if (!CreateProcess(NULL, argv[1], NULL, NULL, TRUE, 0, NULL, NULL, &info, &pi)) data/wesnoth-1.14-1.14.13/projectfiles/VC16/WindowsTimeout.cpp:43:7: [3] (shell) CreateProcess: This causes a new process to execute and is difficult to use safely (CWE-78). Specify the application path in the first argument, NOT as part of the second, or embedded spaces could allow an attacker to force a different program to run. if (!CreateProcess(NULL, argv[1], NULL, NULL, TRUE, 0, NULL, NULL, &info, &pi)) data/wesnoth-1.14-1.14.13/projectfiles/VC16/WindowsTimeout.cpp:43:7: [3] (shell) CreateProcess: This causes a new process to execute and is difficult to use safely (CWE-78). Specify the application path in the first argument, NOT as part of the second, or embedded spaces could allow an attacker to force a different program to run. if (!CreateProcess(NULL, argv[1], NULL, NULL, TRUE, 0, NULL, NULL, &info, &pi)) data/wesnoth-1.14-1.14.13/src/desktop/dbus_features.cpp:109:7: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("KDE_SESSION_VERSION")) { data/wesnoth-1.14-1.14.13/src/editor/map/context_manager.cpp:252:50: [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. id, name, description, turns, xp_mod, victory, random data/wesnoth-1.14-1.14.13/src/editor/map/context_manager.cpp:259:76: [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. context.set_scenario_setup(id, name, description, turns, xp_mod, victory, random); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:554:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* home_str = getenv("HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:674:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* home_str = getenv("HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:677:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char const* xdg_data = getenv("XDG_DATA_HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:707:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* home_str = getenv("HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:748:28: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char const* xdg_config = getenv("XDG_CONFIG_HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:751:17: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. xdg_config = getenv("HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:782:27: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char const* xdg_cache = getenv("XDG_CACHE_HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:785:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. xdg_cache = getenv("HOME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:1511:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* user_name = getenv("USERNAME"); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:1513:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* user_name = getenv("USER"); data/wesnoth-1.14-1.14.13/src/font/sdl_ttf.cpp:366:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if(getenv("NO_RTL") == nullptr) { data/wesnoth-1.14-1.14.13/src/generators/default_map_generator_job.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. int noise = random % (windiness_ * 137) / 137; data/wesnoth-1.14-1.14.13/src/generators/map_generator.cpp:88:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(nullptr)); data/wesnoth-1.14-1.14.13/src/language.cpp:282:29: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char* const locale = getenv("LANG"); data/wesnoth-1.14-1.14.13/src/lua/lmathlib.cpp:28: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. #define l_rand() random() data/wesnoth-1.14-1.14.13/src/lua/lmathlib.cpp:29:20: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define l_srand(x) srandom(x) data/wesnoth-1.14-1.14.13/src/lua/lmathlib.cpp:33:20: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define l_srand(x) srand(x) data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:294:22: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char *path = getenv(nver); /* use versioned name */ data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:296:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. path = getenv(envname); /* try unversioned name */ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:131:33: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). #define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:178: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. lua_pushstring(L, getenv(luaL_checkstring(L, 1))); /* if NULL push nil */ data/wesnoth-1.14-1.14.13/src/preferences/credentials.cpp:92:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if(char* const login = getenv("USER")) { data/wesnoth-1.14-1.14.13/src/server/server.cpp:3058:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(static_cast<unsigned>(time(nullptr))); data/wesnoth-1.14-1.14.13/src/server/user_handler.cpp:50:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(static_cast<unsigned>(time(nullptr))); data/wesnoth-1.14-1.14.13/src/terrain/builder.cpp:1036:6: [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 > static_cast<unsigned int>(rule.probability)) { data/wesnoth-1.14-1.14.13/src/utils/make_enum.hpp:236:7: [3] (random) setstate: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. is.setstate(std::ios::failbit); \ data/wesnoth-1.14-1.14.13/src/utils/markov_generator.cpp:65: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. std::vector<int> random(max_len); data/wesnoth-1.14-1.14.13/src/utils/markov_generator.cpp:68: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[j] = randomness::generator->next_random(); data/wesnoth-1.14-1.14.13/src/utils/markov_generator.cpp:78:36: [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. const ucs4::char_t c = i->second[random[j++]%i->second.size()]; data/wesnoth-1.14-1.14.13/src/wesnoth.cpp:453:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(*cmdline_opts.rng_seed); data/wesnoth-1.14-1.14.13/src/wesnoth.cpp:626:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(nullptr)); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:53:10: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. return (random() % 100) < chance; data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:372:2: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srandom(time(NULL)); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:441:2: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srandom(time(NULL)); data/wesnoth-1.14-1.14.13/projectfiles/VC12/WindowsTimeout.cpp:47:41: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (::WaitForSingleObject(pi.hProcess, atoi(argv[2])) == WAIT_OBJECT_0) { data/wesnoth-1.14-1.14.13/projectfiles/VC16/WindowsTimeout.cpp:47:41: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (::WaitForSingleObject(pi.hProcess, atoi(argv[2])) == WAIT_OBJECT_0) { data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2733:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int damage = atoi((*argv)[1]); data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2734:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int num_attacks = atoi((*argv)[2]); data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2735:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int hitpoints = atoi((*argv)[3]), max_hp = hitpoints; data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2736:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int hit_chance = atoi((*argv)[4]); data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2740:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if((*argv)[5] && atoi((*argv)[5]) == 0) { data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2746:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). max_hp = atoi(max + strlen("maxhp=")); data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2801:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). run(argv[1] ? atoi(argv[1]) : 0); data/wesnoth-1.14-1.14.13/src/buffered_istream.hpp:122:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer_[1024]; data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:198: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). int fifo = open(path.c_str(), O_RDWR|O_NONBLOCK); data/wesnoth-1.14-1.14.13/src/config.cpp:1268:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hash_str[hash_length + 1]; data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:365:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char BF_itoa64[64 + 1] = data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:368:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char BF_atoi64[0x60] = { data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:654: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 flags_by_subtype[26] = data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:777:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(output, setting, 7 + 22 - 1); data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:830:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const test_hashes[2] = data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:838:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[7 + 22 + 1]; data/wesnoth-1.14-1.14.13/src/crypt_blowfish/crypt_blowfish.c:839:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char o[7 + 22 + 31 + 1 + 1 + 1]; data/wesnoth-1.14-1.14.13/src/desktop/paths.cpp:77:4: [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 label[label_bufsize] { 0 }; data/wesnoth-1.14-1.14.13/src/desktop/paths.cpp:173:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t profile_path[MAX_PATH]; data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:222:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t real_path[MAX_PATH]; data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:639: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 docs_path[MAX_PATH]; data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:822:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t process_path[MAX_PATH]; data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:987:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[block_size]; data/wesnoth-1.14-1.14.13/src/gettext_boost.cpp:138: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). po_file.open(path); data/wesnoth-1.14-1.14.13/src/gui/auxiliary/old_markup.cpp:60:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(!open) data/wesnoth-1.14-1.14.13/src/log_windows.cpp:127:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t tmpdir[MAX_PATH + 1]; data/wesnoth-1.14-1.14.13/src/lua/lapi.cpp:1295:33: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of 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 (upisopen(*up1)) (*up1)->u.open.touched = 1; data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:519: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(newbuff, B->b, B->n * sizeof(char)); /* copy original content */ data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:531:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b, s, l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:638:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[BUFSIZ]; /* area for reading file */ data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:715:12: [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). lf.f = fopen(filename, "r"); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.h:153:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char initb[LUAL_BUFFERSIZE]; /* initial buffer */ data/wesnoth-1.14-1.14.13/src/lua/ldblib.cpp:382:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[5]; data/wesnoth-1.14-1.14.13/src/lua/ldblib.cpp:404:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[250]; data/wesnoth-1.14-1.14.13/src/lua/ldebug.cpp:630:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[LUA_IDSIZE]; data/wesnoth-1.14-1.14.13/src/lua/ldo.cpp:162: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). for (up = L->openupval; up != NULL; up = up->u.open.next) data/wesnoth-1.14-1.14.13/src/lua/lfunc.cpp:66: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). pp = &p->u.open.next; data/wesnoth-1.14-1.14.13/src/lua/lfunc.cpp:71: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). uv->u.open.next = *pp; /* link it to list of open upvalues */ data/wesnoth-1.14-1.14.13/src/lua/lfunc.cpp:72: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). uv->u.open.touched = 1; data/wesnoth-1.14-1.14.13/src/lua/lfunc.cpp:87: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). L->openupval = uv->u.open.next; /* remove from 'open' list */ data/wesnoth-1.14-1.14.13/src/lua/lfunc.h:42:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). } open; data/wesnoth-1.14-1.14.13/src/lua/lgc.cpp:323:59: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). for (uv = thread->openupval; uv != NULL; uv = uv->u.open.next) { data/wesnoth-1.14-1.14.13/src/lua/lgc.cpp:324:19: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (uv->u.open.touched) { data/wesnoth-1.14-1.14.13/src/lua/lgc.cpp:326: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). uv->u.open.touched = 0; data/wesnoth-1.14-1.14.13/src/lua/lgc.cpp:521: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). uv->u.open.touched = 1; /* can be marked in 'remarkupvals' */ data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:250:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). p->f = fopen(fname, mode); data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:262:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). p->f = fopen(filename, mode); data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:288:10: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). p->f = tmpfile(); data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:394:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[L_MAXLENNUM + 1]; /* +1 for ending '\0' */ data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:444:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char decp[2]; data/wesnoth-1.14-1.14.13/src/lua/llex.cpp:346:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UTF8BUFFSZ]; data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:169:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[MAX_PATH + 1]; data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:187:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[128]; data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:417:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(filename, "r"); /* try to open file */ data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:282:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[L_MAXLENNUM + 1]; data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:372:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[MAXNUMBER2STR]; data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:437:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[4*sizeof(void *) + 8]; /* should be enough space for a '%p' */ data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:444:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UTF8BUFFSZ]; data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:485:25: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define addstr(a,b,l) ( memcpy(a,b,(l) * sizeof(char)), a += (l) ) data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:491: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(out, source + 1, l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:499: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(out, source + 1, l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:503: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(out, source + 1 + l - bufflen, bufflen * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:519:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out, POS, (LL(POS) + 1) * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lopcodes.cpp:20:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { data/wesnoth-1.14-1.14.13/src/lua/lopcodes.h:290:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. LUAI_DDEC const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:123:13: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). e = mkstemp(b); \ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:167:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[LUA_TMPNAMBUFSIZE]; data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:268: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(buff, conv, oplen); /* copy valid option to buffer */ data/wesnoth-1.14-1.14.13/src/lua/loslib.cpp:303:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cc[4]; /* buffer for individual conversion specifiers */ data/wesnoth-1.14-1.14.13/src/lua/lstate.cpp:79:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b + p, &t, sizeof(t)); p += sizeof(t); } data/wesnoth-1.14-1.14.13/src/lua/lstate.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 buff[4 * sizeof(size_t)]; data/wesnoth-1.14-1.14.13/src/lua/lstate.cpp:276:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(lua_getextraspace(L1), lua_getextraspace(g->mainthread), data/wesnoth-1.14-1.14.13/src/lua/lstring.cpp:187:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(getstr(ts), str, l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lstring.cpp:207:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(getstr(ts), str, l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:135:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, s, l * sizeof(char)); p += l; data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:137:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, sep, lsep * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:141:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, s, l * sizeof(char)); /* last copy (not followed by separator) */ data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:916: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 buff[10]; data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:996:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(form, strfrmt, ((p - strfrmt) + 1) * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1030: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 form[MAX_FORMAT]; /* to store the format ('%...') */ data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1146:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[5 * sizeof(lua_Number)]; /* enough for any float type */ data/wesnoth-1.14-1.14.13/src/lua/ltablib.cpp:263:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, &c, sof(c) * sizeof(unsigned int)); data/wesnoth-1.14-1.14.13/src/lua/ltablib.cpp:264:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff + sof(c), &t, sof(t) * sizeof(unsigned int)); data/wesnoth-1.14-1.14.13/src/lua/ltm.cpp:29:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. LUAI_DDEF const char *const luaT_typenames_[LUA_TOTALTAGS] = { data/wesnoth-1.14-1.14.13/src/lua/ltm.h:55:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. LUAI_DDEC const char *const luaT_typenames_[LUA_TOTALTAGS]; data/wesnoth-1.14-1.14.13/src/lua/lua.h:454:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char short_src[LUA_IDSIZE]; /* (S) */ data/wesnoth-1.14-1.14.13/src/lua/lundump.cpp:95:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[LUAI_MAXSHORTLEN]; data/wesnoth-1.14-1.14.13/src/lua/lundump.cpp:220:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[sizeof(LUA_SIGNATURE) + sizeof(LUAC_DATA)]; /* larger than both */ data/wesnoth-1.14-1.14.13/src/lua/lvm.cpp:464:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff + tl, svalue(top - n), l * sizeof(char)); data/wesnoth-1.14-1.14.13/src/lua/lvm.cpp:498:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[LUAI_MAXSHORTLEN]; data/wesnoth-1.14-1.14.13/src/lua/lzio.cpp:60:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b, z->p, m); data/wesnoth-1.14-1.14.13/src/map/location.cpp:76:6: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open != std::string::npos && close != std::string::npos) { data/wesnoth-1.14-1.14.13/src/map/location.cpp:80: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). sub.replace(open, close - open + 1, write_direction(dir)); data/wesnoth-1.14-1.14.13/src/network_asio.hpp:54:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char binary[4]; data/wesnoth-1.14-1.14.13/src/preferences/credentials.cpp:84:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t buffer[300]; data/wesnoth-1.14-1.14.13/src/scripting/lua_common.cpp:89:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, m, l + 1); data/wesnoth-1.14-1.14.13/src/scripting/lua_fileops.cpp:223:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff_[LUAL_BUFFERSIZE]; data/wesnoth-1.14-1.14.13/src/sdl/utils.cpp:1711:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(line_dest, line_src, size * rbpp); data/wesnoth-1.14-1.14.13/src/serialization/base64.cpp:23:38: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). void fill_atoi_map(std::vector<int>& atoi, const std::string& itoa) data/wesnoth-1.14-1.14.13/src/serialization/base64.cpp:26:3: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). atoi[itoa[i]] = i; data/wesnoth-1.14-1.14.13/src/serialization/tokenizer.hpp:175:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char char_types_[128]; data/wesnoth-1.14-1.14.13/src/server/server.cpp:335: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). int fifo = open(input_path_.c_str(), O_RDWR | O_NONBLOCK); data/wesnoth-1.14-1.14.13/src/server/server.cpp:2215:29: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). request_sample_frequency = atoi(parameters.c_str()); data/wesnoth-1.14-1.14.13/src/server/server.cpp:3114:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). port = atoi(argv[++arg]); data/wesnoth-1.14-1.14.13/src/server/server.cpp:3153:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). min_threads = atoi(argv[++arg]); data/wesnoth-1.14-1.14.13/src/server/server.cpp:3158:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). max_threads = atoi(argv[++arg]); data/wesnoth-1.14-1.14.13/src/server/server.cpp:3160:41: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). wesnothd::request_sample_frequency = atoi(argv[++arg]); data/wesnoth-1.14-1.14.13/src/server/server_base.cpp:49: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). acceptor_.open(endpoint.protocol()); data/wesnoth-1.14-1.14.13/src/server/server_base.hpp: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 buf[4]; data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:86:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(small_out, &buf[0], pos); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:140:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(small_out, &buf[0], len); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:175:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[64]; data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:176:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, begin(), size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:178:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). return atoi(buf); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:189:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, begin(), size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:745:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, output_cache_.begin(), output_cache_.size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:756:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, i->key.begin(), i->key.size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:761:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, i->value.begin(), i->value.size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:774:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, attr.begin(), attr.size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:782:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, attr.begin(), attr.size()); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:1022:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(res, str, len + 1); data/wesnoth-1.14-1.14.13/src/terrain/translation.cpp:787:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char tcode[9] {0}; data/wesnoth-1.14-1.14.13/src/tests/main.cpp:70: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). reporter.open("boost_test_result.xml"); data/wesnoth-1.14-1.14.13/src/theme.cpp:58:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). return ref + atoi(expr.c_str()); data/wesnoth-1.14-1.14.13/src/theme.cpp:67:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rect.x1 = atoi(items[0].c_str()); data/wesnoth-1.14-1.14.13/src/theme.cpp:70:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rect.y1 = atoi(items[1].c_str()); data/wesnoth-1.14-1.14.13/src/theme.cpp:73:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rect.x2 = atoi(items[2].c_str()); data/wesnoth-1.14-1.14.13/src/theme.cpp:78:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rect.y2 = atoi(items[3].c_str()); data/wesnoth-1.14-1.14.13/src/tstring.cpp:189:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[4]; data/wesnoth-1.14-1.14.13/src/tstring.cpp:314:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[4]; data/wesnoth-1.14-1.14.13/src/units/animation.cpp:345:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). value_.push_back(atoi(v.c_str())); data/wesnoth-1.14-1.14.13/src/units/animation.cpp:363:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). value2_.push_back(atoi(v2.c_str())); data/wesnoth-1.14-1.14.13/src/utils/io.hpp:28:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[256]; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.hpp:56:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char binary[4]; data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:184:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). u->damage = atoi((*argv)[1]); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:185:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). u->num_attacks = atoi((*argv)[2]); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:186:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). u->hp = u->max_hp = atoi((*argv)[3]); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:187:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). u->hit_chance = atoi((*argv)[4]); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:194:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ((*argv)[5] && atoi((*argv)[5]) == 0) { data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:197:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). u->max_hp = atoi(max + strlen("maxhp=")); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:271:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[128], cmp[128]; data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:277: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(cmp+strlen(cmp), "drains,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:279: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(cmp+strlen(cmp), "slows,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:281: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(cmp+strlen(cmp), "berserk,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:283: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(cmp+strlen(cmp), "swarm,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:285: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(cmp+strlen(cmp), "firststrike,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:286:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(cmp+strlen(cmp), "maxhp=%u", u->max_hp); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:339:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(filename, "r"); data/wesnoth-1.14-1.14.13/src/actions/undo.cpp:130:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/actions/undo.cpp:288:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void undo_list::read(const config & cfg) data/wesnoth-1.14-1.14.13/src/actions/undo.hpp:86:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config & cfg); data/wesnoth-1.14-1.14.13/src/addon/info.cpp:61:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void addon_info::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/addon/info.cpp:213:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). dest[id].read(addon_cfg); data/wesnoth-1.14-1.14.13/src/addon/info.hpp:94:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). this->read(cfg); data/wesnoth-1.14-1.14.13/src/addon/info.hpp:122:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/addon/manager.cpp:86:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/addon/manager.cpp:110:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/ai/configuration.cpp:187:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/ai/lua/core.cpp:1018:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int res_ai = luaL_loadbufferx(L, code, strlen(code), /*name*/ code, "t"); // [-1: AI code] data/wesnoth-1.14-1.14.13/src/ai/lua/core.cpp:1060: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). int res = luaL_loadbufferx(L, code, strlen(code), /*name*/ code, "t");//stack size is now 1 [ -1: f] data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2544:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). static_cast<int>(strlen(label)) - 12, ':', u_.swarm_max, u_.damage, u_.hp, u_.chance_to_hit, untouched * 100.0); data/wesnoth-1.14-1.14.13/src/attack_prediction.cpp:2746:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). max_hp = atoi(max + strlen("maxhp=")); data/wesnoth-1.14-1.14.13/src/campaign_server/blacklist.cpp:45:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). this->read(cfg); data/wesnoth-1.14-1.14.13/src/campaign_server/blacklist.cpp:59:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void blacklist::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/campaign_server/blacklist.hpp:59:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:162:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg_, *in); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:237:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(data, doc->output()); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:424:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(blcfg, *in); data/wesnoth-1.14-1.14.13/src/campaign_server/campaign_server.cpp:426:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). blacklist_.read(blcfg); data/wesnoth-1.14-1.14.13/src/config.cpp:1311:66: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). hash_str[i] = hash_string[static_cast<unsigned>(hash_str[i]) % strlen(hash_string)]; data/wesnoth-1.14-1.14.13/src/config_cache.cpp:147:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/desktop/version.cpp:111:18: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = std::fgetc(p.get())) && c != EOF && c != '\n' && c != '\r') { data/wesnoth-1.14-1.14.13/src/display.cpp:239:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(level.child_or_empty("display")); data/wesnoth-1.14-1.14.13/src/display.cpp:3187:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void display::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/display.hpp:636:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/editor/map/map_context.cpp:320:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(scenario, *(preprocess_file(filename_))); data/wesnoth-1.14-1.14.13/src/editor/map/map_context.cpp:337:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). labels_.read(scenario); data/wesnoth-1.14-1.14.13/src/filesystem_boost.cpp:126:48: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). impl_type_to::write(writer, impl_type_from::read(from_next, from_end)); data/wesnoth-1.14-1.14.13/src/filesystem_common.cpp:135:45: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. return str.size() >= suffix.size() && std::equal(suffix.begin(),suffix.end(),str.end()-suffix.size()); data/wesnoth-1.14-1.14.13/src/filesystem_sdl.cpp:167:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ifs->read(static_cast<char*>(ptr), maxnum * size); data/wesnoth-1.14-1.14.13/src/font/font_config.cpp:141:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/game_end_exceptions.cpp:44:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void end_level_data::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/game_end_exceptions.hpp:104:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/game_events/action_wml.cpp:601:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). map.read(file_cfg["map_data"].str(), false); data/wesnoth-1.14-1.14.13/src/game_events/action_wml.cpp:603:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). map.read(cfg["map"], false); data/wesnoth-1.14-1.14.13/src/game_events/action_wml.cpp:864:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). mask_map.read(filesystem::read_file(maskfile), false); data/wesnoth-1.14-1.14.13/src/game_events/action_wml.cpp:869:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). mask_map.read(cfg["mask"], false); data/wesnoth-1.14-1.14.13/src/game_initialization/create_engine.cpp:691:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(data, *preprocess_file(filesystem::get_user_data_dir() + "/editor/scenarios/" + user_scenario_names_[i])); data/wesnoth-1.14-1.14.13/src/game_state.cpp:67:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). el_data.read(endlevel_cfg); data/wesnoth-1.14-1.14.13/src/game_state.cpp:94:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). el_data.read(endlevel_cfg); data/wesnoth-1.14-1.14.13/src/gui/core/window_builder.cpp:168:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void builder_window::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/gui/core/window_builder.hpp:150:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/gui/core/window_builder.hpp:208:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/gui/gui.cpp:56:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream, &validator); data/wesnoth-1.14-1.14.13/src/help/help_text_area.cpp:124:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, stream); data/wesnoth-1.14-1.14.13/src/language.cpp:97:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/language.cpp:288: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). if(locale != nullptr && strlen(locale) >= 2) { data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:401:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). *len = (def ? strlen(def) : 0); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:538: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). luaL_addlstring(B, s, strlen(s)); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:674:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = getc(lf->f); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:679:10: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return getc(lf->f); /* return next character */ data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:694:11: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = getc(lf->f); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:696:11: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). *cp = getc(lf->f); /* skip end-of-line, if present */ data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:765:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return luaL_loadbuffer(L, s, strlen(s), s); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:861:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (e == NULL) e = fname + strlen(fname); data/wesnoth-1.14-1.14.13/src/lua/lauxlib.cpp:994:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t l = strlen(p); data/wesnoth-1.14-1.14.13/src/lua/ldblib.cpp:409:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") || data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:43: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). (strspn(mode, L_MODEEXT) == strlen(mode))); /* check extensions */ data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:90:20: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define l_getc(f) getc(f) data/wesnoth-1.14-1.14.13/src/lua/liolib.cpp:475:11: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int c = getc(f); data/wesnoth-1.14-1.14.13/src/lua/loadlib.cpp:429:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (l == NULL) l = path + strlen(path); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:284:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(s) > L_MAXLENNUM || pdot == NULL) data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:410:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). pushstr(L, s, strlen(s)); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:462:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). pushstr(L, fmt, strlen(fmt)); data/wesnoth-1.14-1.14.13/src/lua/lobject.cpp:488:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t l = strlen(source); data/wesnoth-1.14-1.14.13/src/lua/lstring.cpp:231:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p[0] = luaS_newlstr(L, str, strlen(str)); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:585:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). upto += strlen(p + upto) + 1; /* may have more after \0 */ data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1007:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t l = strlen(form); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1008: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). size_t lm = strlen(lenmod); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1070:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). luaL_argcheck(L, l == strlen(s), arg, "string contains zeros"); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1400: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). luaL_argcheck(L, strlen(s) == len, arg, "string contains zeros"); data/wesnoth-1.14-1.14.13/src/lua/lstrlib.cpp:1524:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = (int)strlen(data + pos); data/wesnoth-1.14-1.14.13/src/lua/lundump.cpp:221:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(s); data/wesnoth-1.14-1.14.13/src/lua/lvm.cpp:258:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(l); /* index of first '\0' in both strings */ data/wesnoth-1.14-1.14.13/src/map/label.cpp:61:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/map/label.cpp:91:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void map_labels::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/map/label.cpp:357:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/map/label.cpp:384:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void terrain_label::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/map/label.hpp:45:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/map/label.hpp:134:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/map/map.cpp:114:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(data); data/wesnoth-1.14-1.14.13/src/map/map.cpp:121:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void gamemap::read(const std::string& data, const bool allow_invalid) data/wesnoth-1.14-1.14.13/src/map/map.cpp:199:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ::read(header, header_str); data/wesnoth-1.14-1.14.13/src/map/map.hpp:82:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const std::string& data, const bool allow_invalid = true); data/wesnoth-1.14-1.14.13/src/network_asio.cpp:219:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). is.read(data_size.binary, 4); data/wesnoth-1.14-1.14.13/src/persist_context.cpp:41:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg_,*file_stream); data/wesnoth-1.14-1.14.13/src/playmp_controller.cpp:101:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if(network_reader_.read(cfg)) { data/wesnoth-1.14-1.14.13/src/playmp_controller.cpp:480:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). else if(network_reader_.read(cfg)) { data/wesnoth-1.14-1.14.13/src/playsingle_controller.cpp:250:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). gui_->labels().read(level); data/wesnoth-1.14-1.14.13/src/playturn.cpp:71:68: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while( (retv == turn_info::PROCESS_CONTINUE) && network_reader_.read(cfg)) { data/wesnoth-1.14-1.14.13/src/playturn.cpp:116:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while(this->network_reader_.read(cfg)) data/wesnoth-1.14-1.14.13/src/playturn_network_adapter.cpp:74:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool playturn_network_adapter::read(config& dst) data/wesnoth-1.14-1.14.13/src/playturn_network_adapter.hpp:34:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(config& dst); data/wesnoth-1.14-1.14.13/src/preferences/general.cpp:92:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(prefs, *stream); data/wesnoth-1.14-1.14.13/src/preferences/general.cpp:96:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(user_prefs, *stream); data/wesnoth-1.14-1.14.13/src/preferences/general.cpp:101:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(prefs, *stream); data/wesnoth-1.14-1.14.13/src/save_index.cpp:145:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(data_, *stream); data/wesnoth-1.14-1.14.13/src/save_index.cpp:287:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *file_stream); data/wesnoth-1.14-1.14.13/src/scripting/lua_common.cpp:487: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). int n = strlen(key); data/wesnoth-1.14-1.14.13/src/scripting/lua_common.cpp:985:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). lg::wml_error() << std::string(m, e ? e - m : strlen(m)); data/wesnoth-1.14-1.14.13/src/scripting/lua_common.cpp:994:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). chat_message("Lua error", std::string(m, e ? e - m : strlen(m))); data/wesnoth-1.14-1.14.13/src/scripting/lua_fileops.cpp:177:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fs->read(out, size); data/wesnoth-1.14-1.14.13/src/scripting/lua_fileops.cpp:200:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). lfs->pistream_->read(lfs->buff_, LUAL_BUFFERSIZE); data/wesnoth-1.14-1.14.13/src/scripting/lua_kernel_base.cpp:743:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int errcode = luaL_loadbufferx(mState, prog, strlen(prog), /*name*/ prog, "t"); data/wesnoth-1.14-1.14.13/src/scripting/lua_unit.cpp:238:21: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. lua_pushboolean(L, equal); data/wesnoth-1.14-1.14.13/src/serialization/parser.cpp:612:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(config& cfg, std::istream& in, abstract_validator* validator) data/wesnoth-1.14-1.14.13/src/serialization/parser.cpp:617:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(config& cfg, const std::string& in, abstract_validator* validator) data/wesnoth-1.14-1.14.13/src/serialization/parser.hpp:26:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(config& cfg, std::istream& in, abstract_validator* validator = nullptr); // Throws config::error data/wesnoth-1.14-1.14.13/src/serialization/parser.hpp:27:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(config& cfg, const std::string& in, abstract_validator* validator = nullptr); // Throws config::error data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:185:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void preproc_define::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:200:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). second.read(cfg); data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:584:23: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(sz < 5 || !std::equal(name.rbegin(), name.rbegin() + 4, "gfc.")) { data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1179:15: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(std::equal(buffer.end() - 3, buffer.end(), "arg")) { data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1204:18: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(std::equal(argbuffer.end() - 6, argbuffer.end(), "endarg")) { data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1218:15: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(std::equal(buffer.end() - 10, buffer.end(), "deprecated")) { data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1247:15: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(std::equal(buffer.end() - 6, buffer.end(), "enddef")) { data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1251:16: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if(std::equal(buffer.end() - 6, buffer.end(), "define")) { // TODO: Maybe add support for data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.cpp:1771:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, streamContent); data/wesnoth-1.14-1.14.13/src/serialization/preprocessor.hpp:102:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config&); data/wesnoth-1.14-1.14.13/src/serialization/schema_validator.cpp:150:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/serialization/ucs4_convert_impl.hpp:95:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static inline ucs4::char_t read(iitor_t& input, const iitor_t& end) data/wesnoth-1.14-1.14.13/src/serialization/ucs4_convert_impl.hpp:158:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static inline ucs4::char_t read(iitor_t& input, const iitor_t& end) data/wesnoth-1.14-1.14.13/src/serialization/ucs4_convert_impl.hpp:206:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static inline ucs4::char_t read(iitor_t& input, const iitor_t& end) data/wesnoth-1.14-1.14.13/src/serialization/ucs4_iterator_base.hpp:100:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). current_char = update_implementation::read(current_substr.second, string_end); data/wesnoth-1.14-1.14.13/src/serialization/unicode_cast.hpp:75:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). impl_writer::write (dst, impl_reader::read(i1, i2)); data/wesnoth-1.14-1.14.13/src/server/ban.cpp:119:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/server/ban.cpp:166:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void banned::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/server/ban.cpp:261:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void ban_manager::read() data/wesnoth-1.14-1.14.13/src/server/ban.hpp:74:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config&); data/wesnoth-1.14-1.14.13/src/server/ban.hpp:146:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(); data/wesnoth-1.14-1.14.13/src/server/server.cpp:274:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ban_manager_.read(); data/wesnoth-1.14-1.14.13/src/server/server.cpp:426:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(configuration, *stream); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:64:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while(filter.good() && (len = filter.read(&buf[pos], chunk_size).gcount()) == chunk_size) { data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:104:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int nalloc = strlen(input); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:1020:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const int len = strlen(str); data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:1120:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char* buf = new char[strlen(output())+1]; data/wesnoth-1.14-1.14.13/src/server/simple_wml.cpp:1203: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). text_size += strlen(d->output_); data/wesnoth-1.14-1.14.13/src/server/simple_wml.hpp:40:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). string_span(const char* str) : str_(str), size_(strlen(str)) data/wesnoth-1.14-1.14.13/src/statistics.cpp:281:2: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg); data/wesnoth-1.14-1.14.13/src/statistics.cpp:353:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void stats::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/statistics.hpp:35:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config& cfg); data/wesnoth-1.14-1.14.13/src/team.cpp:165:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void team::team_info::read(const config& cfg) data/wesnoth-1.14-1.14.13/src/team.cpp:356:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). info_.read(cfg); data/wesnoth-1.14-1.14.13/src/team.cpp:359:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fog_.read(cfg["fog_data"]); data/wesnoth-1.14-1.14.13/src/team.cpp:361:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). shroud_.read(cfg["shroud_data"]); data/wesnoth-1.14-1.14.13/src/team.cpp:863:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void team::shroud_map::read(const std::string& str) data/wesnoth-1.14-1.14.13/src/team.hpp:88:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const std::string& shroud_data); data/wesnoth-1.14-1.14.13/src/team.hpp:101:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config &cfg); data/wesnoth-1.14-1.14.13/src/units/formula_manager.cpp:29:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void unit_formula_manager::read(const config & ai) data/wesnoth-1.14-1.14.13/src/units/formula_manager.hpp:43:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const config & ai); data/wesnoth-1.14-1.14.13/src/units/unit.cpp:589:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). formula_man_->read(ai); data/wesnoth-1.14-1.14.13/src/wesnoth.cpp:234:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(cfg, *stream); data/wesnoth-1.14-1.14.13/src/wesnoth.cpp:245:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ++read; data/wesnoth-1.14-1.14.13/src/wesnoth.cpp:248:46: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). std::cerr << SDL_GetTicks() << " Read " << read << " defines.\n"; data/wesnoth-1.14-1.14.13/src/wesnothd_connection.cpp:289:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). is.read(data_size.binary, 4); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:197:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). u->max_hp = atoi(max + strlen("maxhp=")); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:277: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). sprintf(cmp+strlen(cmp), "drains,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:279: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). sprintf(cmp+strlen(cmp), "slows,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:281: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). sprintf(cmp+strlen(cmp), "berserk,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:283: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). sprintf(cmp+strlen(cmp), "swarm,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:285: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). sprintf(cmp+strlen(cmp), "firststrike,"); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:286:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf(cmp+strlen(cmp), "maxhp=%u", u->max_hp); data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:288:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fread(line, strlen(cmp), 1, f) != 1) data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:291: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 (strncmp(line, cmp, strlen(cmp)) != 0) data/wesnoth-1.14-1.14.13/utils/wesnoth-attack-sim.c:293:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). battle, (int)strlen(cmp), line, cmp); ANALYSIS SUMMARY: Hits = 481 Lines analyzed = 355298 in approximately 9.01 seconds (39442 lines/second) Physical Source Lines of Code (SLOC) = 230021 Hits@level = [0] 53 [1] 167 [2] 150 [3] 41 [4] 122 [5] 1 Hits@level+ = [0+] 534 [1+] 481 [2+] 314 [3+] 164 [4+] 123 [5+] 1 Hits/KSLOC@level+ = [0+] 2.32153 [1+] 2.09111 [2+] 1.36509 [3+] 0.712978 [4+] 0.534734 [5+] 0.00434743 Dot directories skipped = 4 (--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.