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/openorienteering-mapper-0.9.4/3rd-party/cove/app/ImageView.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/ImageView.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/PolygonsView.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/PolygonsView.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/Settings.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/Settings.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/UIProgressDialog.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/UIProgressDialog.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/classificationconfigform.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/classificationconfigform.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/colorseditform.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/colorseditform.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/coverunner.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/coverunner.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/mainform.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/mainform.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/vectorizationconfigform.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/app/vectorizationconfigform.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/AlphaGetter.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/AlphaGetter.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Concurrency.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Concurrency.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/FIRFilter.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/FIRFilter.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/KohonenMap.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/KohonenMap.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/MapColor.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/MapColor.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Morphology.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Morphology.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/ParallelImageProcessing.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/ParallelImageProcessing.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/PatternGetter.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/PatternGetter.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Polygons.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Polygons.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/ProgressObserver.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Vectorizer.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Vectorizer.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/cove-potrace.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/auxiliary.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/config.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/curve.c
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/curve.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/lists.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/potracelib.c
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/potracelib.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/progress.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/trace.c
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/trace.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/tests/ParallelImageProcessingTest.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/tests/PolygonTest.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/cove/tests/PolygonTest.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlocalpeer.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlocalpeer.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile_unix.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile_win.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtsingleapplication.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtsingleapplication.h
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtsinglecoreapplication.cpp
Examining data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtsinglecoreapplication.h
Examining data/openorienteering-mapper-0.9.4/doc/api/extra/code_overview.h
Examining data/openorienteering-mapper-0.9.4/doc/api/extra/mainpage.h
Examining data/openorienteering-mapper-0.9.4/packaging/translations.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/app_permissions.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/app_permissions.h
Examining data/openorienteering-mapper-0.9.4/src/core/app_permissions_android.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/autosave.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/autosave.h
Examining data/openorienteering-mapper-0.9.4/src/core/crs_template.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/crs_template.h
Examining data/openorienteering-mapper-0.9.4/src/core/crs_template_implementation.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/crs_template_implementation.h
Examining data/openorienteering-mapper-0.9.4/src/core/georeferencing.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/georeferencing.h
Examining data/openorienteering-mapper-0.9.4/src/core/image_transparency_fixup.h
Examining data/openorienteering-mapper-0.9.4/src/core/latlon.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/latlon.h
Examining data/openorienteering-mapper-0.9.4/src/core/map.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_color.cpp
Parsing failed to find end of parameter list; semicolon terminated it in (begin(lhs), end(lhs), begin(rhs), [](const auto& left, const auto& right) {
		return *left.spot_color == *right.spot_color
		       && qAbs(left.factor - right.factor) < 1e-03;
	});
}

bool MapColor:
Parsing failed to find end of parameter list; semicolon terminated it in (begin(lhs), end(lhs), begin(rhs), [compare_priority](const auto& left, const auto& right) {
		return left.spot_color->equals(*right.spot_color, compare_priority)
		       && qAbs(left.factor - right.
Examining data/openorienteering-mapper-0.9.4/src/core/map_color.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_coord.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map_coord.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_grid.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map_grid.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_part.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map_part.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_printer.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map_printer.h
Examining data/openorienteering-mapper-0.9.4/src/core/map_view.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/map_view.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/boolean_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/boolean_tool.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object_mover.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object_mover.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object_operations.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object_query.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/object_query.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/symbol_rule_set.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/symbol_rule_set.h
Examining data/openorienteering-mapper-0.9.4/src/core/objects/text_object.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/objects/text_object.h
Examining data/openorienteering-mapper-0.9.4/src/core/path_coord.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/path_coord.h
Examining data/openorienteering-mapper-0.9.4/src/core/renderables/renderable.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/renderables/renderable.h
Examining data/openorienteering-mapper-0.9.4/src/core/renderables/renderable_implementation.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/renderables/renderable_implementation.h
Examining data/openorienteering-mapper-0.9.4/src/core/storage_location.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/storage_location.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/area_symbol.cpp
Parsing failed to find end of parameter list; semicolon terminated it in (begin(patterns), end(patterns), begin(area->patterns), [case_sensitivity](auto& lhs, auto& rhs){
		return lhs.equals(rhs, case_sensitivity);
	});
}


}  // namespace OpenOrienteering

Examining data/openorienteering-mapper-0.9.4/src/core/symbols/area_symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/combined_symbol.cpp
Parsing failed to find end of parameter list; semicolon terminated it in (begin(parts), end(parts), begin(combination->parts),
	                      [case_sensitivity](const auto lhs, const auto rhs)
	{
		return (!lhs && !rhs)
		       || (lhs && rhs && lhs->equals(rhs, c
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/combined_symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/line_symbol.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/line_symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/point_symbol.cpp
Parsing failed to find end of parameter list; semicolon terminated it in (begin(elements), end(elements), begin(point->elements), [case_sensitivity](auto& lhs, auto& rhs) {
		return lhs.symbol->equals(rhs.symbol.get(), case_sensitivity)
		       && lhs.object->equals(rhs.o
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/point_symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/symbol.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/symbol_icon_decorator.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/symbol_icon_decorator.h
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/text_symbol.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/symbols/text_symbol.h
Examining data/openorienteering-mapper-0.9.4/src/core/track.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/track.h
Examining data/openorienteering-mapper-0.9.4/src/core/virtual_coord_vector.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/virtual_coord_vector.h
Examining data/openorienteering-mapper-0.9.4/src/core/virtual_path.cpp
Examining data/openorienteering-mapper-0.9.4/src/core/virtual_path.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_format.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_format.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_format_registry.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_format_registry.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_import_export.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/file_import_export.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format_p.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_export.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_export.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_format.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_format.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_import.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_file_import.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_georef_fields.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_georef_fields.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_icon.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_icon.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v10.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v11.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v12.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v2018.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v8.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v9.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/xml_file_format.cpp
Examining data/openorienteering-mapper-0.9.4/src/fileformats/xml_file_format.h
Examining data/openorienteering-mapper-0.9.4/src/fileformats/xml_file_format_p.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_extensions.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_manager.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_manager.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_settings_page.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_settings_page.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_template.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/gdal_template.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/mapper_gdal_info.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/ogr_file_format.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/ogr_file_format.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/ogr_file_format_p.h
Examining data/openorienteering-mapper-0.9.4/src/gdal/ogr_template.cpp
Examining data/openorienteering-mapper-0.9.4/src/gdal/ogr_template.h
Examining data/openorienteering-mapper-0.9.4/src/global.cpp
Examining data/openorienteering-mapper-0.9.4/src/global.h
Examining data/openorienteering-mapper-0.9.4/src/gui/about_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/about_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/autosave_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/autosave_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/color_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/color_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/configure_grid_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/configure_grid_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/file_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/file_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/georeferencing_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/georeferencing_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/home_screen_controller.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/home_screen_controller.h
Examining data/openorienteering-mapper-0.9.4/src/gui/main_window.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/main_window.h
Examining data/openorienteering-mapper-0.9.4/src/gui/main_window_controller.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/main_window_controller.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_dialog_scale.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_dialog_scale.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_editor.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_editor.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_editor_activity.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_editor_activity.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_editor_p.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_find_feature.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_find_feature.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/map_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/new_map_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/new_map_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/rotate_map_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/rotate_map_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/map/stretch_map_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/map/stretch_map_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/modifier_key.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/modifier_key.h
Examining data/openorienteering-mapper-0.9.4/src/gui/print_progress_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/print_progress_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/print_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/print_tool.h
Examining data/openorienteering-mapper-0.9.4/src/gui/print_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/print_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/scaling_icon_engine.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/scaling_icon_engine.h
Examining data/openorienteering-mapper-0.9.4/src/gui/scaling_icon_engine_plugin.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/scaling_icon_engine_plugin.h
Examining data/openorienteering-mapper-0.9.4/src/gui/select_crs_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/select_crs_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/settings_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/settings_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/area_symbol_settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/area_symbol_settings.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/combined_symbol_settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/combined_symbol_settings.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/icon_properties_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/icon_properties_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/line_symbol_settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/line_symbol_settings.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/point_symbol_editor_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/point_symbol_editor_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/point_symbol_settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/point_symbol_settings.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_properties_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_properties_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_setting_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_setting_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/text_symbol_settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/symbols/text_symbol_settings.h
Examining data/openorienteering-mapper-0.9.4/src/gui/task_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/task_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/text_browser_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/text_browser_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/gui/touch_cursor.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/touch_cursor.h
Examining data/openorienteering-mapper-0.9.4/src/gui/util_gui.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/util_gui.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/action_grid_bar.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/action_grid_bar.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/color_dropdown.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/color_dropdown.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/color_list_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/color_list_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/compass_display.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/compass_display.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/crs_param_widgets.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/crs_param_widgets.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/crs_selector.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/crs_selector.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/editor_settings_page.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/editor_settings_page.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/general_settings_page.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/general_settings_page.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/home_screen_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/home_screen_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/key_button_bar.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/key_button_bar.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/mapper_proxystyle.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/mapper_proxystyle.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/measure_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/measure_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/pie_menu.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/pie_menu.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/segmented_button_layout.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/segmented_button_layout.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/settings_page.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/settings_page.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_dropdown.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_dropdown.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_render_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_render_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_tooltip.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_tooltip.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/symbol_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/tag_select_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/tag_select_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/tags_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/tags_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/template_list_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/template_list_widget.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/text_browser.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/text_browser.h
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/toast.cpp
Examining data/openorienteering-mapper-0.9.4/src/gui/widgets/toast.h
Examining data/openorienteering-mapper-0.9.4/src/libocad/array.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/array.h
Examining data/openorienteering-mapper-0.9.4/src/libocad/color.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/file.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/geometry.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/geometry.h
Examining data/openorienteering-mapper-0.9.4/src/libocad/libocad.h
Examining data/openorienteering-mapper-0.9.4/src/libocad/ocad_object.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/ocad_symbol.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/path.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/setup.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/string.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/types.c
Examining data/openorienteering-mapper-0.9.4/src/libocad/types.h
Examining data/openorienteering-mapper-0.9.4/src/main.cpp
Examining data/openorienteering-mapper-0.9.4/src/mapper_resource.cpp
Examining data/openorienteering-mapper-0.9.4/src/mapper_resource.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/advanced_pdf_printer.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/advanced_pdf_printer.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/printer_properties.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/printer_properties.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/printer_properties_win.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf_p.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/printengine_advanced_pdf.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/printengine_advanced_pdf_p.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/qfontsubset.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/qfontsubset_agl.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/qfontsubset_p.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf_p.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/printengine_advanced_pdf.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/printengine_advanced_pdf_p.h
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/qfontsubset.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/qfontsubset_agl.cpp
Examining data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/qfontsubset_p.h
Examining data/openorienteering-mapper-0.9.4/src/qmake/mapper_config.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/compass.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/compass.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/fake_position_plugin.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/fake_position_plugin.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/fake_position_source.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/fake_position_source.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_display.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_display.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_temporary_markers.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_temporary_markers.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_track_recorder.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/gps_track_recorder.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/nmea_position_plugin.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/nmea_position_plugin.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/powershell_position_plugin.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/powershell_position_plugin.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/powershell_position_source.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/powershell_position_source.h
Examining data/openorienteering-mapper-0.9.4/src/sensors/sensors_settings_page.cpp
Examining data/openorienteering-mapper-0.9.4/src/sensors/sensors_settings_page.h
Examining data/openorienteering-mapper-0.9.4/src/settings.cpp
Examining data/openorienteering-mapper-0.9.4/src/settings.h
Examining data/openorienteering-mapper-0.9.4/src/templates/paint_on_template_feature.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/paint_on_template_feature.h
Examining data/openorienteering-mapper-0.9.4/src/templates/paint_on_template_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/paint_on_template_tool.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_adjust.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_adjust.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_dialog_reopen.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_dialog_reopen.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_image.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_image.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_image_open_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_image_open_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_map.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_map.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_placeholder.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_placeholder.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_position_dock_widget.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_position_dock_widget.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_positioning_dialog.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_positioning_dialog.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_table_model.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_table_model.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_tool_move.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_tool_move.h
Examining data/openorienteering-mapper-0.9.4/src/templates/template_track.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/template_track.h
Examining data/openorienteering-mapper-0.9.4/src/templates/world_file.cpp
Examining data/openorienteering-mapper-0.9.4/src/templates/world_file.h
Examining data/openorienteering-mapper-0.9.4/src/tools/cut_hole_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/cut_hole_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/cut_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/cut_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/cutout_operation.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/cutout_operation.h
Examining data/openorienteering-mapper-0.9.4/src/tools/cutout_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/cutout_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/distribute_points_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/distribute_points_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_circle_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_circle_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_freehand_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_freehand_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_line_and_area_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_line_and_area_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_path_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_path_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_point_gps_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_point_gps_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_point_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_point_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_rectangle_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_rectangle_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_text_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/draw_text_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_line_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_line_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_point_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_point_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/edit_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/fill_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/fill_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/object_selector.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/object_selector.h
Examining data/openorienteering-mapper-0.9.4/src/tools/pan_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/pan_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/point_handles.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/point_handles.h
Examining data/openorienteering-mapper-0.9.4/src/tools/rotate_pattern_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/rotate_pattern_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/rotate_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/rotate_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/scale_tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/scale_tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/text_object_editor_helper.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/text_object_editor_helper.h
Examining data/openorienteering-mapper-0.9.4/src/tools/tool.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/tool.h
Examining data/openorienteering-mapper-0.9.4/src/tools/tool_base.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/tool_base.h
Examining data/openorienteering-mapper-0.9.4/src/tools/tool_helpers.cpp
Examining data/openorienteering-mapper-0.9.4/src/tools/tool_helpers.h
Examining data/openorienteering-mapper-0.9.4/src/undo/map_part_undo.cpp
Examining data/openorienteering-mapper-0.9.4/src/undo/map_part_undo.h
Examining data/openorienteering-mapper-0.9.4/src/undo/object_undo.cpp
Examining data/openorienteering-mapper-0.9.4/src/undo/object_undo.h
Examining data/openorienteering-mapper-0.9.4/src/undo/undo.cpp
Examining data/openorienteering-mapper-0.9.4/src/undo/undo.h
Examining data/openorienteering-mapper-0.9.4/src/undo/undo_manager.cpp
Examining data/openorienteering-mapper-0.9.4/src/undo/undo_manager.h
Examining data/openorienteering-mapper-0.9.4/src/util/backports.h
Examining data/openorienteering-mapper-0.9.4/src/util/encoding.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/encoding.h
Examining data/openorienteering-mapper-0.9.4/src/util/item_delegates.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/item_delegates.h
Examining data/openorienteering-mapper-0.9.4/src/util/mapper_service_proxy.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/mapper_service_proxy.h
Examining data/openorienteering-mapper-0.9.4/src/util/matrix.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/matrix.h
Examining data/openorienteering-mapper-0.9.4/src/util/overriding_shortcut.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/overriding_shortcut.h
Examining data/openorienteering-mapper-0.9.4/src/util/qasconst.h
Examining data/openorienteering-mapper-0.9.4/src/util/qoverload.h
Examining data/openorienteering-mapper-0.9.4/src/util/recording_translator.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/recording_translator.h
Examining data/openorienteering-mapper-0.9.4/src/util/scoped_signals_blocker.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/scoped_signals_blocker.h
Examining data/openorienteering-mapper-0.9.4/src/util/transformation.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/transformation.h
Examining data/openorienteering-mapper-0.9.4/src/util/translation_util.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/translation_util.h
Examining data/openorienteering-mapper-0.9.4/src/util/util.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/util.h
Examining data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.cpp
Examining data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h
Examining data/openorienteering-mapper-0.9.4/test/autosave_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/autosave_t.h
Examining data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/coord_xml_t.h
Examining data/openorienteering-mapper-0.9.4/test/duplicate_equals_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/duplicate_equals_t.h
Examining data/openorienteering-mapper-0.9.4/test/encoding_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/encoding_t.h
Examining data/openorienteering-mapper-0.9.4/test/file_format_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/file_format_t.h
Examining data/openorienteering-mapper-0.9.4/test/georef_ocd_mapping_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/georeferencing_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/georeferencing_t.h
Examining data/openorienteering-mapper-0.9.4/test/grid_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/locale_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/locale_t.h
Examining data/openorienteering-mapper-0.9.4/test/map_color_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/map_color_t.h
Examining data/openorienteering-mapper-0.9.4/test/map_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/map_t.h
Examining data/openorienteering-mapper-0.9.4/test/object_query_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/object_query_t.h
Examining data/openorienteering-mapper-0.9.4/test/ocd_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/path_object_t.cpp
Parsing failed to find end of parameter list; semicolon terminated it in (
		            begin(actual.path_coords),
		            end(actual.path_coords),
		            begin(expected.path_coords),
		            [](auto& lhs, auto& rhs) {
		                return lhs.pos =
Parsing failed to find end of parameter list; semicolon terminated it in (
		            begin(actual.path_coords),
		            end(actual.path_coords),
		            begin(expected.path_coords),
		            [](auto& lhs, auto& rhs) {
		                return lhs.pos =
Examining data/openorienteering-mapper-0.9.4/test/path_object_t.h
Examining data/openorienteering-mapper-0.9.4/test/qpainter_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/qpainter_t.h
Examining data/openorienteering-mapper-0.9.4/test/sensors_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/style_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/symbol_set_t.h
Examining data/openorienteering-mapper-0.9.4/test/symbol_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/template_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/tools_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/tools_t.h
Examining data/openorienteering-mapper-0.9.4/test/track_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/transform_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/transform_t.h
Examining data/openorienteering-mapper-0.9.4/test/tst_qglobal.cpp
Examining data/openorienteering-mapper-0.9.4/test/tst_qglobal.h
Examining data/openorienteering-mapper-0.9.4/test/undo_manager_t.cpp
Examining data/openorienteering-mapper-0.9.4/test/undo_manager_t.h
Examining data/openorienteering-mapper-0.9.4/test/util_t.cpp
Examining data/openorienteering-mapper-0.9.4/translations/future_translations.cpp

FINAL RESULTS:

data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:1901:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			string.sprintf("\ts%d\tx%d\ty%d\ta%f\tu%f\tv%f\td%d\tp%d\tt%d\to%d",
data/openorienteering-mapper-0.9.4/src/libocad/libocad.h:44:10:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	#define snprintf _snprintf
data/openorienteering-mapper-0.9.4/src/libocad/libocad.h:44:19:  [4] (format) _snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	#define snprintf _snprintf
data/openorienteering-mapper-0.9.4/src/libocad/string.c:34:12:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
	if (10 == sscanf(p, F_TEMPL,
data/openorienteering-mapper-0.9.4/src/libocad/string.c:44:2:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	snprintf(tmp, 1024, "%s" F_TEMPL,
data/openorienteering-mapper-0.9.4/src/libocad/string.c:51:2:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	snprintf(buf, size, "%s" F_TEMPL,
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1668:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    timeStr.sprintf("%d-%02d-%02dT%02d:%02d:%02d", date.year(), date.month(), date.day(),
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1676:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        tzStr.sprintf("-%02d:%02d", -hours, -mins);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1678:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        tzStr.sprintf("+%02d:%02d", hours , mins);
data/openorienteering-mapper-0.9.4/src/settings.cpp:150:57:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	registerSetting(General_Language, "language", QLocale::system().name().left(2));
data/openorienteering-mapper-0.9.4/src/util/translation_util.cpp:64:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	return QLocale::system().name().left(2);
data/openorienteering-mapper-0.9.4/3rd-party/cove/app/mainform.cpp:256: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));  // NOLINT
data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/PatternGetter.cpp:79: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));  // NOLINT
data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Concurrency.h:113: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 padding[64 - (sizeof(future) - sizeof(progress)) % 64] = {};  // NOLINT
data/openorienteering-mapper-0.9.4/3rd-party/cove/libvectorizer/Polygons.cpp:1014:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(a_curve, &newcurve, sizeof(privcurve_t));
data/openorienteering-mapper-0.9.4/3rd-party/cove/potrace/potracelib.c:41:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(p, &param_default, sizeof(potrace_param_t));
data/openorienteering-mapper-0.9.4/3rd-party/cove/tests/PolygonTest.cpp:96: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).
	file.open(QIODevice::WriteOnly);
data/openorienteering-mapper-0.9.4/3rd-party/cove/tests/PolygonTest.cpp:112: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).
	QVERIFY(file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlocalpeer.cpp:108: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).
    lockFile.open(QIODevice::ReadWrite);
data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile.cpp:123:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool QtLockedFile::open(OpenMode mode)
data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile.cpp:129: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).
    return QFile::open(mode);
data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlockedfile.h:76:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    bool open(OpenMode mode) override;
data/openorienteering-mapper-0.9.4/src/core/georeferencing.cpp:110:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (!version_file.open(QIODevice::ReadOnly)
data/openorienteering-mapper-0.9.4/src/core/georeferencing.cpp:125:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if (!version_file.open(QIODevice::WriteOnly)
data/openorienteering-mapper-0.9.4/src/core/storage_location.cpp:127:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (warning.open(QIODevice::WriteOnly | QIODevice::Truncate))
data/openorienteering-mapper-0.9.4/src/core/track.cpp:126:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
data/openorienteering-mapper-0.9.4/src/core/track.cpp:145:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::WriteOnly | QIODevice::Text)
data/openorienteering-mapper-0.9.4/src/fileformats/file_format_registry.cpp:143:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly))
data/openorienteering-mapper-0.9.4/src/fileformats/file_format_registry.cpp:146: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[256];
data/openorienteering-mapper-0.9.4/src/fileformats/file_import_export.cpp:109:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!device_->isOpen() && !device_->open(QIODevice::ReadOnly))
data/openorienteering-mapper-0.9.4/src/fileformats/file_import_export.cpp:292:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!device_->isOpen() && !device_->open(QIODevice::WriteOnly))
data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:1799:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
							memcpy(new_symbol, ocad_text_symbol, ocad_text_symbol->size);
data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:2766:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buffer + 1, data.data(), min_size);
data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:2776:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buffer, data.data(), min_size);
data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:2801:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buffer, data.data(), min_size);
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.h:99:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char data[N];
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.h:122:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[N];
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v8.h:347:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char    RESERVED_MEMBER[19];
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v8.h:484:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char    RESERVED_MEMBER[256];
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types_v8.h:496:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char    filename_IGNORED[256];
data/openorienteering-mapper-0.9.4/src/fileformats/xml_file_format.cpp:544: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/openorienteering-mapper-0.9.4/src/gui/home_screen_controller.cpp:132:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (file.open(QIODevice::ReadOnly))
data/openorienteering-mapper-0.9.4/src/gui/map/map_editor.cpp:1894: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).
	buffer.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement.cpp:179: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).
	if (!crt_file.open(QFile::ReadOnly))
data/openorienteering-mapper-0.9.4/src/gui/symbols/symbol_replacement_dialog.cpp:245: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).
		crt_file.open(QIODevice::WriteOnly);
data/openorienteering-mapper-0.9.4/src/libocad/array.c:123: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(array->data + start, data, count * sizeof(void *));
data/openorienteering-mapper-0.9.4/src/libocad/file.c:48:19:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	if (src != NULL) memcpy(dest, src, size);
data/openorienteering-mapper-0.9.4/src/libocad/file.c:167: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).
	file->fd = open(file->filename, O_RDONLY | O_BINARY);
data/openorienteering-mapper-0.9.4/src/libocad/file.c:255:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	int fd = open(filename, O_RDWR | O_CREAT | O_TRUNC | O_BINARY, 0664);
data/openorienteering-mapper-0.9.4/src/libocad/file.c:419:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	FILE *file = fopen(filename, "wb");
data/openorienteering-mapper-0.9.4/src/libocad/file.c:436: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(&(d->rect), r, sizeof(OCADRect)); 
data/openorienteering-mapper-0.9.4/src/libocad/file.c:456: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(rect, &(data.rect), sizeof(OCADRect));
data/openorienteering-mapper-0.9.4/src/libocad/libocad.h:406:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char str[1];  // zero terminated
data/openorienteering-mapper-0.9.4/src/libocad/ocad_object.c:45: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(dest, src, ssize);
data/openorienteering-mapper-0.9.4/src/libocad/ocad_object.c:205: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(obj, source, ssize);
data/openorienteering-mapper-0.9.4/src/libocad/string.c:27: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 tmp[1024];
data/openorienteering-mapper-0.9.4/src/libocad/string.c:32: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(tmp, templ->str, sz); tmp[sz] = 0;
data/openorienteering-mapper-0.9.4/src/libocad/string.c:43: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 tmp[1024];
data/openorienteering-mapper-0.9.4/src/libocad/types.c:29:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p, s, size);
data/openorienteering-mapper-0.9.4/src/libocad/types.c:59: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, ostr + 1, n);
data/openorienteering-mapper-0.9.4/src/libocad/types.c:67: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, ostr + 1, n);
data/openorienteering-mapper-0.9.4/src/printsupport/printer_properties_win.cpp:105:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(devmode, ep_devmode, devmode_size);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:144:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char output[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:180:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char output[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:206: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).
        dev->open(QIODevice::ReadWrite | QIODevice::Append);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:215: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).
        dev->open(QIODevice::ReadWrite);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:262:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:269:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:276:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:293: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).
        dev->open(QIODevice::ReadWrite | QIODevice::Truncate);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:300: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).
        dev->open(QIODevice::ReadWrite);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:311:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            newFile->open();
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:695:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char base[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:719: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 base[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1080:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1488:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (!file->open(QFile::WriteOnly|QFile::Truncate)) {
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1685:18:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    metaDataFile.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1707: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).
        colorProfileFile.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:1778:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ff.open(QFile::WriteOnly);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2085: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 part[2] = {char((*(utf16 + i)) >> 8), char((*(utf16 + i)) & 0xff)};
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2103:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[msize];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2770:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(rawdata, image.constScanLine(y), bytesPerLine);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2992:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:3012:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/printengine_advanced_pdf.cpp:346:21:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if (! file->open(QFile::WriteOnly|QFile::Truncate)) {
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/qfontsubset.cpp:94:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[8];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/qfontsubset.cpp:218:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:102:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char output[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:138:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char output[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:164: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).
        dev->open(QIODevice::ReadWrite | QIODevice::Append);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:173:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        dev->open(QIODevice::ReadWrite);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:220:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:227:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:234:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[256];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:251: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).
        dev->open(QIODevice::ReadWrite | QIODevice::Truncate);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:258: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).
        dev->open(QIODevice::ReadWrite);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:269:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            newFile->open();
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:653:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char base[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:677: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 base[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1358:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (!file->open(QFile::WriteOnly|QFile::Truncate)) {
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1521:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ff.open(QFile::WriteOnly);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1763: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 part[2] = {char((*(utf16 + i)) >> 8), char((*(utf16 + i)) & 0xff)};
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1782:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[msize];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:2414:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(rawdata, image.constScanLine(y), bytesPerLine);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:2629:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:2649:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[5];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/printengine_advanced_pdf.cpp:352:21:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if (! file->open(QFile::WriteOnly|QFile::Truncate)) {
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/qfontsubset.cpp:97:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[8];
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/qfontsubset.cpp:221:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[5];
data/openorienteering-mapper-0.9.4/src/sensors/compass.cpp:355:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(gyro_rotation_matrix, temp, 9 * sizeof(float));
data/openorienteering-mapper-0.9.4/src/sensors/compass.cpp:433:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(p->gyro_orientation, acc_mag_orientation, 3 * sizeof(float));
data/openorienteering-mapper-0.9.4/src/sensors/compass.cpp:451:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(p->gyro_orientation, fused_orientation, 3 * sizeof(float));
data/openorienteering-mapper-0.9.4/src/sensors/powershell_position_source.cpp:112:18:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (script_file.open(QIODevice::ReadOnly))
data/openorienteering-mapper-0.9.4/src/templates/template.cpp:280:70:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void Template::saveTemplateConfiguration(QXmlStreamWriter& xml, bool open, const QDir* map_dir) const
data/openorienteering-mapper-0.9.4/src/templates/template.cpp:284:70:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	xml.writeAttribute(QString::fromLatin1("open"), QString::fromLatin1(open ? "true" : "false"));
data/openorienteering-mapper-0.9.4/src/templates/template.cpp:329: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 && hasUnsavedChanges())
data/openorienteering-mapper-0.9.4/src/templates/template.cpp:338:102:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
std::unique_ptr<Template> Template::loadTemplateConfiguration(QXmlStreamReader& xml, Map& map, bool& open)
data/openorienteering-mapper-0.9.4/src/templates/template.h:212:61:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	void saveTemplateConfiguration(QXmlStreamWriter& xml, bool open, const QDir* map_dir = nullptr) const;
data/openorienteering-mapper-0.9.4/src/templates/template.h:221:100:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	static std::unique_ptr<Template> loadTemplateConfiguration(QXmlStreamReader& xml, Map& map, bool& open);
data/openorienteering-mapper-0.9.4/src/templates/world_file.cpp:72:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
data/openorienteering-mapper-0.9.4/src/templates/world_file.cpp:89:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::WriteOnly | QIODevice::Text))
data/openorienteering-mapper-0.9.4/src/util/matrix.h:54:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(d, other.d, n * m * sizeof(double));
data/openorienteering-mapper-0.9.4/src/util/matrix.h:92:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(d, other.d, n * m * sizeof(double));
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.cpp:149:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer->open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:77: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).
	buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:118: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).
	buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:145: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.
	static char encoded[11] = "0123456789";
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:148: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[buf_size];
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:237: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).
	buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:267:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		static char encoded[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:330: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).
	buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:354: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).
	buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:389:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		header.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:395:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:407: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).
	header.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:408: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).
	buffer.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:470:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		header.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:476:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:489: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).
	header.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:490: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).
	buffer.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:583:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		header.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:589:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:602: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).
	header.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:603: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).
	buffer.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:774:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		header.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:780:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:792: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).
	header.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:793: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).
	buffer.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:1008:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		header.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:1018:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QBuffer::ReadWrite);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:1031: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).
	header.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:1032: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).
	buffer.open(QBuffer::ReadOnly);
data/openorienteering-mapper-0.9.4/test/file_format_t.cpp:479:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (buffer.open(QIODevice::ReadWrite)
data/openorienteering-mapper-0.9.4/test/file_format_t.cpp:637: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).
	QVERIFY(out_file.open(QIODevice::WriteOnly));
data/openorienteering-mapper-0.9.4/test/map_t.cpp:308: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).
	buffer.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/test/map_t.cpp:334: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).
	out_buffer.open(QIODevice::WriteOnly);
data/openorienteering-mapper-0.9.4/test/ocd_t.cpp:133: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 trailing[4];
data/openorienteering-mapper-0.9.4/test/ocd_t.cpp:188: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 trailing[4];
data/openorienteering-mapper-0.9.4/test/ocd_t.cpp:231: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 trailing[4];
data/openorienteering-mapper-0.9.4/test/sensors_t.cpp:145:27:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		QVERIFY(unreadable_file.open());
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:172: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).
	device.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:310: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).
	QVERIFY(crt_file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:473: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).
	QVERIFY(crt_file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:656: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).
		QVERIFY(file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:680: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).
		QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Truncate));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:718: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).
		QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Truncate));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:933: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).
		QVERIFY(file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:951: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).
	QVERIFY(buffer.open(QIODevice::WriteOnly | QIODevice::Truncate));
data/openorienteering-mapper-0.9.4/test/template_t.cpp:199: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).
		QVERIFY(file.open(QIODevice::ReadOnly));
data/openorienteering-mapper-0.9.4/test/template_t.cpp:210:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/test/template_t.cpp:232:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		QVERIFY(out_buffer.open(QIODevice::WriteOnly));
data/openorienteering-mapper-0.9.4/test/track_t.cpp:116: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).
			file.open(QIODevice::ReadOnly);
data/openorienteering-mapper-0.9.4/3rd-party/qtsingleapplication/src/qtlocalpeer.cpp:167:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            res &= (socket.read(qstrlen(ack)) == ack);
data/openorienteering-mapper-0.9.4/src/core/georeferencing.cpp:1087: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.
	    || !std::equal(begin(params), end(params), begin(projected_crs_parameters))
data/openorienteering-mapper-0.9.4/src/core/map_color.cpp:133:17:  [1] (buffer) is_permutation:
  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.
	       && std::is_permutation(begin(lhs), end(lhs), begin(rhs), [](const auto& left, const auto& right) {
data/openorienteering-mapper-0.9.4/src/core/map_color.cpp:144:17:  [1] (buffer) is_permutation:
  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.
	       && std::is_permutation(begin(lhs), end(lhs), begin(rhs), [compare_priority](const auto& left, const auto& right) {
data/openorienteering-mapper-0.9.4/src/core/map_color.h:424:14:  [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.
	static bool equal(const MapColor* color, const MapColor* other);
data/openorienteering-mapper-0.9.4/src/core/map_color.h:787: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.
bool MapColor::equal(const MapColor* color, const MapColor* other)
data/openorienteering-mapper-0.9.4/src/core/map_printer.cpp:270:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
					XmlElementReader(xml).read(page_format.paper_dimensions);
data/openorienteering-mapper-0.9.4/src/core/map_printer.cpp:274:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
					XmlElementReader(xml).read(page_format.page_rect);
data/openorienteering-mapper-0.9.4/src/core/map_printer.cpp:283:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			print_area_element.read(print_area);
data/openorienteering-mapper-0.9.4/src/core/objects/object.cpp:384:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
					coords_element.read(object->coords);
data/openorienteering-mapper-0.9.4/src/core/objects/object.cpp:435:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			XmlElementReader(xml).read(object->object_tags);
data/openorienteering-mapper-0.9.4/src/core/symbols/area_symbol.cpp:162: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 (!MapColor::equal(line_color, other.line_color))
data/openorienteering-mapper-0.9.4/src/core/symbols/area_symbol.cpp:824:17:  [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 (!MapColor::equal(color, area->color))
data/openorienteering-mapper-0.9.4/src/core/symbols/area_symbol.cpp:836:14:  [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 std::equal(begin(patterns), end(patterns), begin(area->patterns), [case_sensitivity](auto& lhs, auto& rhs){
data/openorienteering-mapper-0.9.4/src/core/symbols/combined_symbol.cpp:314:17:  [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.
	       && std::equal(begin(private_parts), end(private_parts), begin(combination->private_parts))
data/openorienteering-mapper-0.9.4/src/core/symbols/combined_symbol.cpp:315:17:  [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.
	       && std::equal(begin(parts), end(parts), begin(combination->parts),
data/openorienteering-mapper-0.9.4/src/core/symbols/line_symbol.cpp:138:26:  [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.
	           && MapColor::equal(color, other.color) );
data/openorienteering-mapper-0.9.4/src/core/symbols/line_symbol.cpp:2004: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 (!MapColor::equal(color, line->color))
data/openorienteering-mapper-0.9.4/src/core/symbols/point_symbol.cpp:647:17:  [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 (!MapColor::equal(inner_color, point->inner_color))
data/openorienteering-mapper-0.9.4/src/core/symbols/point_symbol.cpp:651:17:  [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 (!MapColor::equal(outer_color, point->outer_color))
data/openorienteering-mapper-0.9.4/src/core/symbols/point_symbol.cpp:658:14:  [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 std::equal(begin(elements), end(elements), begin(point->elements), [case_sensitivity](auto& lhs, auto& rhs) {
data/openorienteering-mapper-0.9.4/src/core/symbols/symbol.cpp:374:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			auto icon = reader.read();
data/openorienteering-mapper-0.9.4/src/core/symbols/text_symbol.cpp:479:17:  [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 (!MapColor::equal(color, text->color))
data/openorienteering-mapper-0.9.4/src/core/symbols/text_symbol.cpp:496: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 (!MapColor::equal(framing_color, text->framing_color))
data/openorienteering-mapper-0.9.4/src/core/symbols/text_symbol.cpp:505: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 (!MapColor::equal(line_below_color, text->line_below_color))
data/openorienteering-mapper-0.9.4/src/fileformats/file_format_registry.cpp:147:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto total_read = int(file.read(buffer, file.isSequential() ? 0 : std::extent<decltype(buffer)>::value));
data/openorienteering-mapper-0.9.4/src/fileformats/ocad8_file_format.cpp:133:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (device.read((char*)buffer, size) != size)
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.cpp:133: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(first1, first1+11, first2))
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.cpp:143:10:  [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 equal(begin(lhs.bits), end(lhs.bits), begin(rhs.bits));
data/openorienteering-mapper-0.9.4/src/fileformats/ocd_types.cpp:150: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.
		return std::equal(begin(lhs.bits), end(lhs.bits), begin(rhs.bits));
data/openorienteering-mapper-0.9.4/src/fileformats/xml_file_format.cpp:545:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			device()->read(data, 4);
data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.cpp:91:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
QImage GdalImageReader::read()
data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.cpp:94:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!read(&image))
data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.cpp:99:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool GdalImageReader::read(QImage* image)
data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.h:70:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	QImage read();
data/openorienteering-mapper-0.9.4/src/gdal/gdal_image_reader.h:72:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(QImage* image);
data/openorienteering-mapper-0.9.4/src/gdal/gdal_template.cpp:77:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!reader.read(&image))
data/openorienteering-mapper-0.9.4/src/gdal/gdal_template.cpp:85:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!image_reader.read(&image))
data/openorienteering-mapper-0.9.4/src/gdal/mapper_gdal_info.cpp:60: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).
			secondary_end += std::strlen(prefix);
data/openorienteering-mapper-0.9.4/src/gui/symbols/icon_properties_widget.cpp:231:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto icon = reader.read();
data/openorienteering-mapper-0.9.4/src/libocad/file.c:183:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		int got = read(file->fd, p, left);
data/openorienteering-mapper-0.9.4/src/libocad/string.c:47:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	return strlen(tmp);
data/openorienteering-mapper-0.9.4/src/libocad/types.c:26: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).
	int size = strlen(s) + 1;
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:233: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).
        dev->write(str, strlen(str));
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:254:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            QByteArray buf = s.dev->read(chunkSize());
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:314:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                QByteArray buf = dev->read(chunkSize());
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2142:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in = dev->read(size);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.12.4/advanced_pdf.cpp:2188:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            arr = dev->read(AdvancedPdfPage::chunkSize());
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:191: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).
        dev->write(str, strlen(str));
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:212:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            QByteArray buf = s.dev->read(chunkSize());
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:272:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                QByteArray buf = dev->read(chunkSize());
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1815:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in = dev->read(size);
data/openorienteering-mapper-0.9.4/src/printsupport/qt-5.5.1/advanced_pdf.cpp:1861:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            arr = dev->read(AdvancedPdfPage::chunkSize());
data/openorienteering-mapper-0.9.4/src/templates/template_image.cpp:174:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		image = reader.read();
data/openorienteering-mapper-0.9.4/src/templates/template_image.cpp:186:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		reader.read(&image);
data/openorienteering-mapper-0.9.4/src/templates/template_image.cpp:515:37:  [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.
	auto const all_coords_equal = std::equal(coords + 1, coords + num_coords, coords);
data/openorienteering-mapper-0.9.4/src/tools/object_selector.cpp:178:38:  [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 a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin());
data/openorienteering-mapper-0.9.4/src/undo/object_undo.cpp:735:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	xml.read(object_tags_map[index]);
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.cpp:209:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void XmlElementReader::read(MapCoordVector& coords)
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:333:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	void read(QRectF& area);
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:339:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	void read(QSizeF& size);
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:345:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	void read(MapCoordVector& coords);
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:363:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	void read(QHash<QString, QString>& tags);
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:714:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void XmlElementReader::read(QRectF& area)
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:729:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void XmlElementReader::read(QSizeF& size)
data/openorienteering-mapper-0.9.4/src/util/xml_stream_util.h:740:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void XmlElementReader::read(QHash<QString, QString> &tags)
data/openorienteering-mapper-0.9.4/test/coord_xml_t.cpp:1053:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		element.read(coords);
data/openorienteering-mapper-0.9.4/test/georef_ocd_mapping_t.cpp:70: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.
	        && std::equal(lhs.crs_parameters.begin(), lhs.crs_parameters.begin(), rhs.crs_parameters.begin());
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:294: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.
		QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:323: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.
		QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:568:17:  [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.
			QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:575:17:  [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.
			QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:611:17:  [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.
			QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:618:17:  [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.
			QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:632: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.
				QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/path_object_t.cpp:641: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.
				QVERIFY(std::equal(
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:706:9:  [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.
	while (equal && first1 != last1)
data/openorienteering-mapper-0.9.4/test/symbol_set_t.cpp:715:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	if (!equal)

ANALYSIS SUMMARY:

Hits = 250
Lines analyzed = 173069 in approximately 4.00 seconds (43281 lines/second)
Physical Source Lines of Code (SLOC) = 114869
Hits@level = [0]  38 [1]  78 [2] 159 [3]   2 [4]  11 [5]   0
Hits@level+ = [0+] 288 [1+] 250 [2+] 172 [3+]  13 [4+]  11 [5+]   0
Hits/KSLOC@level+ = [0+] 2.5072 [1+] 2.17639 [2+] 1.49736 [3+] 0.113172 [4+] 0.0957613 [5+]   0
Dot directories skipped = 2 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.