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/tiled-qt-1.4.3/src/libtiled/compression.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/compression.h
Examining data/tiled-qt-1.4.3/src/libtiled/containerhelpers.h
Examining data/tiled-qt-1.4.3/src/libtiled/fileformat.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/fileformat.h
Examining data/tiled-qt-1.4.3/src/libtiled/filesystemwatcher.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/filesystemwatcher.h
Examining data/tiled-qt-1.4.3/src/libtiled/gidmapper.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/gidmapper.h
Examining data/tiled-qt-1.4.3/src/libtiled/grouplayer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/grouplayer.h
Examining data/tiled-qt-1.4.3/src/libtiled/hex.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/hex.h
Examining data/tiled-qt-1.4.3/src/libtiled/hexagonalrenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/hexagonalrenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/imagecache.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/imagecache.h
Examining data/tiled-qt-1.4.3/src/libtiled/imagelayer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/imagelayer.h
Examining data/tiled-qt-1.4.3/src/libtiled/imagereference.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/imagereference.h
Examining data/tiled-qt-1.4.3/src/libtiled/isometricrenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/isometricrenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/layer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/layer.h
Examining data/tiled-qt-1.4.3/src/libtiled/logginginterface.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/logginginterface.h
Examining data/tiled-qt-1.4.3/src/libtiled/map.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/map.h
Examining data/tiled-qt-1.4.3/src/libtiled/mapformat.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/mapformat.h
Examining data/tiled-qt-1.4.3/src/libtiled/mapobject.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/mapobject.h
Examining data/tiled-qt-1.4.3/src/libtiled/mapreader.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/mapreader.h
Examining data/tiled-qt-1.4.3/src/libtiled/maprenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/maprenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/maptovariantconverter.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/maptovariantconverter.h
Examining data/tiled-qt-1.4.3/src/libtiled/mapwriter.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/mapwriter.h
Examining data/tiled-qt-1.4.3/src/libtiled/minimaprenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/minimaprenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/object.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/object.h
Examining data/tiled-qt-1.4.3/src/libtiled/objectgroup.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/objectgroup.h
Examining data/tiled-qt-1.4.3/src/libtiled/objecttemplate.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/objecttemplate.h
Examining data/tiled-qt-1.4.3/src/libtiled/objecttemplateformat.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/objecttemplateformat.h
Examining data/tiled-qt-1.4.3/src/libtiled/objecttypes.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/objecttypes.h
Examining data/tiled-qt-1.4.3/src/libtiled/orthogonalrenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/orthogonalrenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/plugin.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/plugin.h
Examining data/tiled-qt-1.4.3/src/libtiled/pluginmanager.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/pluginmanager.h
Examining data/tiled-qt-1.4.3/src/libtiled/properties.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/properties.h
Examining data/tiled-qt-1.4.3/src/libtiled/qtcompat_p.h
Examining data/tiled-qt-1.4.3/src/libtiled/savefile.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/savefile.h
Examining data/tiled-qt-1.4.3/src/libtiled/staggeredrenderer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/staggeredrenderer.h
Examining data/tiled-qt-1.4.3/src/libtiled/templatemanager.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/templatemanager.h
Examining data/tiled-qt-1.4.3/src/libtiled/terrain.h
Examining data/tiled-qt-1.4.3/src/libtiled/tile.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tile.h
Examining data/tiled-qt-1.4.3/src/libtiled/tileanimationdriver.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tileanimationdriver.h
Examining data/tiled-qt-1.4.3/src/libtiled/tiled.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tiled.h
Examining data/tiled-qt-1.4.3/src/libtiled/tiled_global.h
Examining data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tilelayer.h
Examining data/tiled-qt-1.4.3/src/libtiled/tileset.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tileset.h
Examining data/tiled-qt-1.4.3/src/libtiled/tilesetformat.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tilesetformat.h
Examining data/tiled-qt-1.4.3/src/libtiled/tilesetmanager.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/tilesetmanager.h
Examining data/tiled-qt-1.4.3/src/libtiled/varianttomapconverter.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/varianttomapconverter.h
Examining data/tiled-qt-1.4.3/src/libtiled/wangset.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/wangset.h
Examining data/tiled-qt-1.4.3/src/libtiled/worldmanager.cpp
Examining data/tiled-qt-1.4.3/src/libtiled/worldmanager.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/mapitem.cpp
Examining data/tiled-qt-1.4.3/src/libtiledquick/mapitem.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/maploader.cpp
Examining data/tiled-qt-1.4.3/src/libtiledquick/maploader.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/mapref.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/tiledquick_global.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/tilelayeritem.cpp
Examining data/tiled-qt-1.4.3/src/libtiledquick/tilelayeritem.h
Examining data/tiled-qt-1.4.3/src/libtiledquick/tilesnode.cpp
Examining data/tiled-qt-1.4.3/src/libtiledquick/tilesnode.h
Examining data/tiled-qt-1.4.3/src/plugins/csv/csv_global.h
Examining data/tiled-qt-1.4.3/src/plugins/csv/csvplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/csv/csvplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/defold/defoldplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/defold/defoldplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/defold/defoldplugin_global.h
Examining data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin_global.h
Examining data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraft_global.h
Examining data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/flare/flare_global.h
Examining data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/gmx/gmx_global.h
Examining data/tiled-qt-1.4.3/src/plugins/gmx/gmxplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/gmx/gmxplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/json/json_global.h
Examining data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/json/qjsonparser/json.cpp
Examining data/tiled-qt-1.4.3/src/plugins/json/qjsonparser/json.h
Examining data/tiled-qt-1.4.3/src/plugins/json/qjsonparser/jsonparser.cpp
Examining data/tiled-qt-1.4.3/src/plugins/json1/json_global.h
Examining data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/json1/qjsonparser/json.cpp
Examining data/tiled-qt-1.4.3/src/plugins/json1/qjsonparser/json.h
Examining data/tiled-qt-1.4.3/src/plugins/json1/qjsonparser/jsonparser.cpp
Examining data/tiled-qt-1.4.3/src/plugins/lua/lua_global.h
Examining data/tiled-qt-1.4.3/src/plugins/lua/luaplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/lua/luaplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/lua/luatablewriter.cpp
Examining data/tiled-qt-1.4.3/src/plugins/lua/luatablewriter.h
Examining data/tiled-qt-1.4.3/src/plugins/python/pythonbind.cpp
Examining data/tiled-qt-1.4.3/src/plugins/python/pythonplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/python/pythonplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaisland_global.h
Examining data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/FakeSfml.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Layer.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/PropertyValue.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Tile.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin/TileSheet.hpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbin_global.h
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbinplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/tbin/tbinplugin.h
Examining data/tiled-qt-1.4.3/src/plugins/tengine/tengine_global.h
Examining data/tiled-qt-1.4.3/src/plugins/tengine/tengineplugin.cpp
Examining data/tiled-qt-1.4.3/src/plugins/tengine/tengineplugin.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtbuttonpropertybrowser.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtbuttonpropertybrowser.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qteditorfactory.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qteditorfactory.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtgroupboxpropertybrowser.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertybrowser.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertybrowser.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertybrowserutils.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertybrowserutils_p.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qttreepropertybrowser.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qttreepropertybrowser.h
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtvariantproperty.cpp
Examining data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtvariantproperty.h
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlocalpeer.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlocalpeer.h
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlockedfile.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlockedfile.h
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlockedfile_unix.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtlockedfile_win.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtsingleapplication.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtsingleapplication.h
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtsinglecoreapplication.cpp
Examining data/tiled-qt-1.4.3/src/qtsingleapplication/src/qtsinglecoreapplication.h
Examining data/tiled-qt-1.4.3/src/terraingenerator/main.cpp
Examining data/tiled-qt-1.4.3/src/tiled/aboutdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/aboutdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/abstractobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstractobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/abstracttilefilltool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstracttilefilltool.h
Examining data/tiled-qt-1.4.3/src/tiled/abstracttileselectiontool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstracttileselectiontool.h
Examining data/tiled-qt-1.4.3/src/tiled/abstracttiletool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstracttiletool.h
Examining data/tiled-qt-1.4.3/src/tiled/abstracttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstracttool.h
Examining data/tiled-qt-1.4.3/src/tiled/abstractworldtool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/abstractworldtool.h
Examining data/tiled-qt-1.4.3/src/tiled/actionmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/actionmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/addpropertydialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addpropertydialog.h
Examining data/tiled-qt-1.4.3/src/tiled/addremovelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremovelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/addremovemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremovemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/addremoveterrain.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremoveterrain.h
Examining data/tiled-qt-1.4.3/src/tiled/addremovetiles.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremovetiles.h
Examining data/tiled-qt-1.4.3/src/tiled/addremovetileset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremovetileset.h
Examining data/tiled-qt-1.4.3/src/tiled/addremovewangset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/addremovewangset.h
Examining data/tiled-qt-1.4.3/src/tiled/adjusttileindexes.cpp
Examining data/tiled-qt-1.4.3/src/tiled/adjusttileindexes.h
Examining data/tiled-qt-1.4.3/src/tiled/automapper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/automapper.h
Examining data/tiled-qt-1.4.3/src/tiled/automapperwrapper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/automapperwrapper.h
Examining data/tiled-qt-1.4.3/src/tiled/automappingmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/automappingmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/automappingutils.cpp
Examining data/tiled-qt-1.4.3/src/tiled/automappingutils.h
Examining data/tiled-qt-1.4.3/src/tiled/brokenlinks.cpp
Examining data/tiled-qt-1.4.3/src/tiled/brokenlinks.h
Examining data/tiled-qt-1.4.3/src/tiled/brushitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/brushitem.h
Examining data/tiled-qt-1.4.3/src/tiled/bucketfilltool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/bucketfilltool.h
Examining data/tiled-qt-1.4.3/src/tiled/capturestamphelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/capturestamphelper.h
Examining data/tiled-qt-1.4.3/src/tiled/changeevents.h
Examining data/tiled-qt-1.4.3/src/tiled/changeimagelayerproperties.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changeimagelayerproperties.h
Examining data/tiled-qt-1.4.3/src/tiled/changelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/changemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/changemapobjectsorder.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changemapobjectsorder.h
Examining data/tiled-qt-1.4.3/src/tiled/changemapproperty.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changemapproperty.h
Examining data/tiled-qt-1.4.3/src/tiled/changeobjectgroupproperties.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changeobjectgroupproperties.h
Examining data/tiled-qt-1.4.3/src/tiled/changepolygon.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changepolygon.h
Examining data/tiled-qt-1.4.3/src/tiled/changeproperties.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changeproperties.h
Examining data/tiled-qt-1.4.3/src/tiled/changeselectedarea.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changeselectedarea.h
Examining data/tiled-qt-1.4.3/src/tiled/changeterrain.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changeterrain.h
Examining data/tiled-qt-1.4.3/src/tiled/changetile.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetile.h
Examining data/tiled-qt-1.4.3/src/tiled/changetileanimation.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetileanimation.h
Examining data/tiled-qt-1.4.3/src/tiled/changetileimagesource.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetileimagesource.h
Examining data/tiled-qt-1.4.3/src/tiled/changetileobjectgroup.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetileobjectgroup.h
Examining data/tiled-qt-1.4.3/src/tiled/changetileprobability.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetileprobability.h
Examining data/tiled-qt-1.4.3/src/tiled/changetileterrain.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetileterrain.h
Examining data/tiled-qt-1.4.3/src/tiled/changetilewangid.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changetilewangid.h
Examining data/tiled-qt-1.4.3/src/tiled/changewangcolordata.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changewangcolordata.h
Examining data/tiled-qt-1.4.3/src/tiled/changewangsetdata.cpp
Examining data/tiled-qt-1.4.3/src/tiled/changewangsetdata.h
Examining data/tiled-qt-1.4.3/src/tiled/clickablelabel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/clickablelabel.h
Examining data/tiled-qt-1.4.3/src/tiled/clipboardmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/clipboardmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/colorbutton.cpp
Examining data/tiled-qt-1.4.3/src/tiled/colorbutton.h
Examining data/tiled-qt-1.4.3/src/tiled/command.cpp
Examining data/tiled-qt-1.4.3/src/tiled/command.h
Examining data/tiled-qt-1.4.3/src/tiled/commandbutton.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commandbutton.h
Examining data/tiled-qt-1.4.3/src/tiled/commanddatamodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commanddatamodel.h
Examining data/tiled-qt-1.4.3/src/tiled/commanddialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commanddialog.h
Examining data/tiled-qt-1.4.3/src/tiled/commandlineparser.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commandlineparser.h
Examining data/tiled-qt-1.4.3/src/tiled/commandmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commandmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/commandsedit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/commandsedit.h
Examining data/tiled-qt-1.4.3/src/tiled/consoledock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/consoledock.h
Examining data/tiled-qt-1.4.3/src/tiled/createellipseobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createellipseobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createpointobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createpointobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createpolygonobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createpolygonobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createrectangleobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createrectangleobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createscalableobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createscalableobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createtemplatetool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createtemplatetool.h
Examining data/tiled-qt-1.4.3/src/tiled/createtextobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createtextobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/createtileobjecttool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/createtileobjecttool.h
Examining data/tiled-qt-1.4.3/src/tiled/document.cpp
Examining data/tiled-qt-1.4.3/src/tiled/document.h
Examining data/tiled-qt-1.4.3/src/tiled/documentmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/documentmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/donationdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/donationdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/editableasset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableasset.h
Examining data/tiled-qt-1.4.3/src/tiled/editablegrouplayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editablegrouplayer.h
Examining data/tiled-qt-1.4.3/src/tiled/editableimagelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableimagelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/editablelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editablelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/editablemanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editablemanager.h
Examining data/tiled-qt-1.4.3/src/tiled/editablemap.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editablemap.h
Examining data/tiled-qt-1.4.3/src/tiled/editablemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editablemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/editableobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableobject.h
Examining data/tiled-qt-1.4.3/src/tiled/editableobjectgroup.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableobjectgroup.h
Examining data/tiled-qt-1.4.3/src/tiled/editableselectedarea.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableselectedarea.h
Examining data/tiled-qt-1.4.3/src/tiled/editableterrain.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editableterrain.h
Examining data/tiled-qt-1.4.3/src/tiled/editabletile.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editabletile.h
Examining data/tiled-qt-1.4.3/src/tiled/editabletilelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editabletilelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/editabletileset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editabletileset.h
Examining data/tiled-qt-1.4.3/src/tiled/editor.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editor.h
Examining data/tiled-qt-1.4.3/src/tiled/editpolygontool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/editpolygontool.h
Examining data/tiled-qt-1.4.3/src/tiled/eraser.cpp
Examining data/tiled-qt-1.4.3/src/tiled/eraser.h
Examining data/tiled-qt-1.4.3/src/tiled/erasetiles.cpp
Examining data/tiled-qt-1.4.3/src/tiled/erasetiles.h
Examining data/tiled-qt-1.4.3/src/tiled/exportasimagedialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/exportasimagedialog.h
Examining data/tiled-qt-1.4.3/src/tiled/exporthelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/exporthelper.h
Examining data/tiled-qt-1.4.3/src/tiled/filechangedwarning.cpp
Examining data/tiled-qt-1.4.3/src/tiled/filechangedwarning.h
Examining data/tiled-qt-1.4.3/src/tiled/fileedit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/fileedit.h
Examining data/tiled-qt-1.4.3/src/tiled/filteredit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/filteredit.h
Examining data/tiled-qt-1.4.3/src/tiled/flexiblescrollbar.cpp
Examining data/tiled-qt-1.4.3/src/tiled/flexiblescrollbar.h
Examining data/tiled-qt-1.4.3/src/tiled/flipmapobjects.cpp
Examining data/tiled-qt-1.4.3/src/tiled/flipmapobjects.h
Examining data/tiled-qt-1.4.3/src/tiled/geometry.cpp
Examining data/tiled-qt-1.4.3/src/tiled/geometry.h
Examining data/tiled-qt-1.4.3/src/tiled/grouplayeritem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/grouplayeritem.h
Examining data/tiled-qt-1.4.3/src/tiled/iconcheckdelegate.cpp
Examining data/tiled-qt-1.4.3/src/tiled/iconcheckdelegate.h
Examining data/tiled-qt-1.4.3/src/tiled/id.cpp
Examining data/tiled-qt-1.4.3/src/tiled/id.h
Examining data/tiled-qt-1.4.3/src/tiled/imagecolorpickerwidget.cpp
Examining data/tiled-qt-1.4.3/src/tiled/imagecolorpickerwidget.h
Examining data/tiled-qt-1.4.3/src/tiled/imagelayeritem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/imagelayeritem.h
Examining data/tiled-qt-1.4.3/src/tiled/issuescounter.cpp
Examining data/tiled-qt-1.4.3/src/tiled/issuescounter.h
Examining data/tiled-qt-1.4.3/src/tiled/issuesdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/issuesdock.h
Examining data/tiled-qt-1.4.3/src/tiled/issuesmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/issuesmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/languagemanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/languagemanager.h
Examining data/tiled-qt-1.4.3/src/tiled/layerdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/layerdock.h
Examining data/tiled-qt-1.4.3/src/tiled/layeritem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/layeritem.h
Examining data/tiled-qt-1.4.3/src/tiled/layermodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/layermodel.h
Examining data/tiled-qt-1.4.3/src/tiled/layeroffsettool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/layeroffsettool.h
Examining data/tiled-qt-1.4.3/src/tiled/locatorwidget.cpp
Examining data/tiled-qt-1.4.3/src/tiled/locatorwidget.h
Examining data/tiled-qt-1.4.3/src/tiled/macsupport.h
Examining data/tiled-qt-1.4.3/src/tiled/magicwandtool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/magicwandtool.h
Examining data/tiled-qt-1.4.3/src/tiled/main.cpp
Examining data/tiled-qt-1.4.3/src/tiled/maintoolbar.cpp
Examining data/tiled-qt-1.4.3/src/tiled/maintoolbar.h
Examining data/tiled-qt-1.4.3/src/tiled/mainwindow.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mainwindow.h
Examining data/tiled-qt-1.4.3/src/tiled/mapdocument.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapdocument.h
Examining data/tiled-qt-1.4.3/src/tiled/mapdocumentactionhandler.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapdocumentactionhandler.h
Examining data/tiled-qt-1.4.3/src/tiled/mapeditor.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapeditor.h
Examining data/tiled-qt-1.4.3/src/tiled/mapitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapitem.h
Examining data/tiled-qt-1.4.3/src/tiled/mapobjectitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapobjectitem.h
Examining data/tiled-qt-1.4.3/src/tiled/mapobjectmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapobjectmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/mapscene.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapscene.h
Examining data/tiled-qt-1.4.3/src/tiled/mapview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/mapview.h
Examining data/tiled-qt-1.4.3/src/tiled/minimap.cpp
Examining data/tiled-qt-1.4.3/src/tiled/minimap.h
Examining data/tiled-qt-1.4.3/src/tiled/minimapdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/minimapdock.h
Examining data/tiled-qt-1.4.3/src/tiled/movelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/movelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/movemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/movemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/movemapobjecttogroup.cpp
Examining data/tiled-qt-1.4.3/src/tiled/movemapobjecttogroup.h
Examining data/tiled-qt-1.4.3/src/tiled/moveterrain.cpp
Examining data/tiled-qt-1.4.3/src/tiled/moveterrain.h
Examining data/tiled-qt-1.4.3/src/tiled/newmapdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newmapdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/newsbutton.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newsbutton.h
Examining data/tiled-qt-1.4.3/src/tiled/newsfeed.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newsfeed.h
Examining data/tiled-qt-1.4.3/src/tiled/newtilesetdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newtilesetdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/newversionbutton.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newversionbutton.h
Examining data/tiled-qt-1.4.3/src/tiled/newversionchecker.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newversionchecker.h
Examining data/tiled-qt-1.4.3/src/tiled/newversiondialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/newversiondialog.h
Examining data/tiled-qt-1.4.3/src/tiled/noeditorwidget.cpp
Examining data/tiled-qt-1.4.3/src/tiled/noeditorwidget.h
Examining data/tiled-qt-1.4.3/src/tiled/objectgroupitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectgroupitem.h
Examining data/tiled-qt-1.4.3/src/tiled/objectrefdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectrefdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/objectrefedit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectrefedit.h
Examining data/tiled-qt-1.4.3/src/tiled/objectreferenceitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectreferenceitem.h
Examining data/tiled-qt-1.4.3/src/tiled/objectreferencetool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectreferencetool.h
Examining data/tiled-qt-1.4.3/src/tiled/objectsdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectsdock.h
Examining data/tiled-qt-1.4.3/src/tiled/objectselectionitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectselectionitem.h
Examining data/tiled-qt-1.4.3/src/tiled/objectselectiontool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectselectiontool.h
Examining data/tiled-qt-1.4.3/src/tiled/objectsview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objectsview.h
Examining data/tiled-qt-1.4.3/src/tiled/objecttypeseditor.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objecttypeseditor.h
Examining data/tiled-qt-1.4.3/src/tiled/objecttypesmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/objecttypesmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/offsetlayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/offsetlayer.h
Examining data/tiled-qt-1.4.3/src/tiled/offsetmapdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/offsetmapdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/painttilelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/painttilelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/pch.h
Examining data/tiled-qt-1.4.3/src/tiled/pluginlistmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/pluginlistmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/pointhandle.cpp
Examining data/tiled-qt-1.4.3/src/tiled/pointhandle.h
Examining data/tiled-qt-1.4.3/src/tiled/preferences.cpp
Examining data/tiled-qt-1.4.3/src/tiled/preferences.h
Examining data/tiled-qt-1.4.3/src/tiled/preferencesdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/preferencesdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/project.cpp
Examining data/tiled-qt-1.4.3/src/tiled/project.h
Examining data/tiled-qt-1.4.3/src/tiled/projectdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/projectdock.h
Examining data/tiled-qt-1.4.3/src/tiled/projectmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/projectmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/projectmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/projectmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/projectpropertiesdialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/projectpropertiesdialog.h
Examining data/tiled-qt-1.4.3/src/tiled/propertiesdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/propertiesdock.h
Examining data/tiled-qt-1.4.3/src/tiled/propertybrowser.cpp
Examining data/tiled-qt-1.4.3/src/tiled/propertybrowser.h
Examining data/tiled-qt-1.4.3/src/tiled/raiselowerhelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/raiselowerhelper.h
Examining data/tiled-qt-1.4.3/src/tiled/randompicker.h
Examining data/tiled-qt-1.4.3/src/tiled/rangeset.h
Examining data/tiled-qt-1.4.3/src/tiled/regionvaluetype.cpp
Examining data/tiled-qt-1.4.3/src/tiled/regionvaluetype.h
Examining data/tiled-qt-1.4.3/src/tiled/renamewangset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/renamewangset.h
Examining data/tiled-qt-1.4.3/src/tiled/reparentlayers.cpp
Examining data/tiled-qt-1.4.3/src/tiled/reparentlayers.h
Examining data/tiled-qt-1.4.3/src/tiled/replacetemplate.cpp
Examining data/tiled-qt-1.4.3/src/tiled/replacetemplate.h
Examining data/tiled-qt-1.4.3/src/tiled/replacetileset.cpp
Examining data/tiled-qt-1.4.3/src/tiled/replacetileset.h
Examining data/tiled-qt-1.4.3/src/tiled/resizedialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/resizedialog.h
Examining data/tiled-qt-1.4.3/src/tiled/resizehelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/resizehelper.h
Examining data/tiled-qt-1.4.3/src/tiled/resizemap.cpp
Examining data/tiled-qt-1.4.3/src/tiled/resizemap.h
Examining data/tiled-qt-1.4.3/src/tiled/resizemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/resizemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/resizetilelayer.cpp
Examining data/tiled-qt-1.4.3/src/tiled/resizetilelayer.h
Examining data/tiled-qt-1.4.3/src/tiled/reversingproxymodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/reversingproxymodel.h
Examining data/tiled-qt-1.4.3/src/tiled/reversingrecursivefiltermodel.h
Examining data/tiled-qt-1.4.3/src/tiled/rotatemapobject.cpp
Examining data/tiled-qt-1.4.3/src/tiled/rotatemapobject.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptedaction.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptedaction.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptedtool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptedtool.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptfile.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptfile.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptfileinfo.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptfileinfo.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/scriptmodule.cpp
Examining data/tiled-qt-1.4.3/src/tiled/scriptmodule.h
Examining data/tiled-qt-1.4.3/src/tiled/selectionrectangle.cpp
Examining data/tiled-qt-1.4.3/src/tiled/selectionrectangle.h
Examining data/tiled-qt-1.4.3/src/tiled/selectsametiletool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/selectsametiletool.h
Examining data/tiled-qt-1.4.3/src/tiled/session.cpp
Examining data/tiled-qt-1.4.3/src/tiled/session.h
Examining data/tiled-qt-1.4.3/src/tiled/shapefilltool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/shapefilltool.h
Examining data/tiled-qt-1.4.3/src/tiled/shortcutsettingspage.cpp
Examining data/tiled-qt-1.4.3/src/tiled/shortcutsettingspage.h
Examining data/tiled-qt-1.4.3/src/tiled/snaphelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/snaphelper.h
Examining data/tiled-qt-1.4.3/src/tiled/stampactions.cpp
Examining data/tiled-qt-1.4.3/src/tiled/stampactions.h
Examining data/tiled-qt-1.4.3/src/tiled/stampbrush.cpp
Examining data/tiled-qt-1.4.3/src/tiled/stampbrush.h
Examining data/tiled-qt-1.4.3/src/tiled/stylehelper.cpp
Examining data/tiled-qt-1.4.3/src/tiled/stylehelper.h
Examining data/tiled-qt-1.4.3/src/tiled/swaptiles.cpp
Examining data/tiled-qt-1.4.3/src/tiled/swaptiles.h
Examining data/tiled-qt-1.4.3/src/tiled/tabbar.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tabbar.h
Examining data/tiled-qt-1.4.3/src/tiled/templatesdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/templatesdock.h
Examining data/tiled-qt-1.4.3/src/tiled/terrainbrush.cpp
Examining data/tiled-qt-1.4.3/src/tiled/terrainbrush.h
Examining data/tiled-qt-1.4.3/src/tiled/terraindock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/terraindock.h
Examining data/tiled-qt-1.4.3/src/tiled/terrainmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/terrainmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/terrainview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/terrainview.h
Examining data/tiled-qt-1.4.3/src/tiled/texteditordialog.cpp
Examining data/tiled-qt-1.4.3/src/tiled/texteditordialog.h
Examining data/tiled-qt-1.4.3/src/tiled/textpropertyedit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/textpropertyedit.h
Examining data/tiled-qt-1.4.3/src/tiled/tileanimationeditor.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tileanimationeditor.h
Examining data/tiled-qt-1.4.3/src/tiled/tilecollisiondock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilecollisiondock.h
Examining data/tiled-qt-1.4.3/src/tiled/tiledapplication.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tiledapplication.h
Examining data/tiled-qt-1.4.3/src/tiled/tiledproxystyle.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tiledproxystyle.h
Examining data/tiled-qt-1.4.3/src/tiled/tilelayeredit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilelayeredit.h
Examining data/tiled-qt-1.4.3/src/tiled/tilelayeritem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilelayeritem.h
Examining data/tiled-qt-1.4.3/src/tiled/tilepainter.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilepainter.h
Examining data/tiled-qt-1.4.3/src/tiled/tileselectionitem.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tileselectionitem.h
Examining data/tiled-qt-1.4.3/src/tiled/tileselectiontool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tileselectiontool.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetchanges.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetchanges.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdock.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdocument.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdocument.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdocumentsmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetdocumentsmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/tileseteditor.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tileseteditor.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetparametersedit.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetparametersedit.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetterrainmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetterrainmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetview.h
Examining data/tiled-qt-1.4.3/src/tiled/tilesetwangsetmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilesetwangsetmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/tilestamp.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilestamp.h
Examining data/tiled-qt-1.4.3/src/tiled/tilestampmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilestampmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/tilestampmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilestampmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/tilestampsdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tilestampsdock.h
Examining data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp
Examining data/tiled-qt-1.4.3/src/tiled/tmxmapformat.h
Examining data/tiled-qt-1.4.3/src/tiled/toolmanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/toolmanager.h
Examining data/tiled-qt-1.4.3/src/tiled/treeviewcombobox.cpp
Examining data/tiled-qt-1.4.3/src/tiled/treeviewcombobox.h
Examining data/tiled-qt-1.4.3/src/tiled/undocommands.cpp
Examining data/tiled-qt-1.4.3/src/tiled/undocommands.h
Examining data/tiled-qt-1.4.3/src/tiled/undodock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/undodock.h
Examining data/tiled-qt-1.4.3/src/tiled/utils.cpp
Examining data/tiled-qt-1.4.3/src/tiled/utils.h
Examining data/tiled-qt-1.4.3/src/tiled/varianteditorfactory.cpp
Examining data/tiled-qt-1.4.3/src/tiled/varianteditorfactory.h
Examining data/tiled-qt-1.4.3/src/tiled/variantpropertymanager.cpp
Examining data/tiled-qt-1.4.3/src/tiled/variantpropertymanager.h
Examining data/tiled-qt-1.4.3/src/tiled/wangbrush.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangbrush.h
Examining data/tiled-qt-1.4.3/src/tiled/wangcolormodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangcolormodel.h
Examining data/tiled-qt-1.4.3/src/tiled/wangcolorview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangcolorview.h
Examining data/tiled-qt-1.4.3/src/tiled/wangdock.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangdock.h
Examining data/tiled-qt-1.4.3/src/tiled/wangfiller.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangfiller.h
Examining data/tiled-qt-1.4.3/src/tiled/wangsetmodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangsetmodel.h
Examining data/tiled-qt-1.4.3/src/tiled/wangsetview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangsetview.h
Examining data/tiled-qt-1.4.3/src/tiled/wangtemplatemodel.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangtemplatemodel.h
Examining data/tiled-qt-1.4.3/src/tiled/wangtemplateview.cpp
Examining data/tiled-qt-1.4.3/src/tiled/wangtemplateview.h
Examining data/tiled-qt-1.4.3/src/tiled/worlddocument.cpp
Examining data/tiled-qt-1.4.3/src/tiled/worlddocument.h
Examining data/tiled-qt-1.4.3/src/tiled/worldmovemaptool.cpp
Examining data/tiled-qt-1.4.3/src/tiled/worldmovemaptool.h
Examining data/tiled-qt-1.4.3/src/tiled/zoomable.cpp
Examining data/tiled-qt-1.4.3/src/tiled/zoomable.h
Examining data/tiled-qt-1.4.3/src/tiledquick/main.cpp
Examining data/tiled-qt-1.4.3/src/tiledquickplugin/tiledquickplugin.cpp
Examining data/tiled-qt-1.4.3/src/tiledquickplugin/tiledquickplugin.h
Examining data/tiled-qt-1.4.3/src/tmxrasterizer/main.cpp
Examining data/tiled-qt-1.4.3/src/tmxrasterizer/tmxrasterizer.cpp
Examining data/tiled-qt-1.4.3/src/tmxrasterizer/tmxrasterizer.h
Examining data/tiled-qt-1.4.3/src/tmxviewer/main.cpp
Examining data/tiled-qt-1.4.3/src/tmxviewer/tmxviewer.cpp
Examining data/tiled-qt-1.4.3/src/tmxviewer/tmxviewer.h
Examining data/tiled-qt-1.4.3/tests/mapreader/test_mapreader.cpp
Examining data/tiled-qt-1.4.3/tests/staggeredrenderer/test_staggeredrenderer.cpp

FINAL RESULTS:

data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertybrowserutils.cpp:471:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    const QChar decimalPoint = QLocale::system().decimalPoint();
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:465:37:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    const QLocale system = QLocale::system();
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:466:60:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    if (!nameToLanguage.contains(QLocale::languageToString(system.language())))
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:467: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.
        nameToLanguage.insert(QLocale::languageToString(system.language()), system.language());
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:467:77:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        nameToLanguage.insert(QLocale::languageToString(system.language()), system.language());
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:479:48:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        if (countries.isEmpty() && language == system.language())
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:480:26:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
            countries << system.country();
data/tiled-qt-1.4.3/src/qtpropertybrowser/src/qtpropertymanager.cpp:1115:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    const QString text = QLocale::system().toString(it.value().val, 'f', decimals);
data/tiled-qt-1.4.3/src/tiled/languagemanager.cpp:63:29:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        language = QLocale::system().name();
data/tiled-qt-1.4.3/src/tiled/abstracttilefilltool.cpp:44:28:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    connect(mStampActions->random(), &QAction::toggled, this, &AbstractTileFillTool::randomChanged);
data/tiled-qt-1.4.3/src/tiled/abstracttilefilltool.cpp:119:20:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    mStampActions->random()->setChecked(mFillMethod == RandomFill);
data/tiled-qt-1.4.3/src/tiled/randompicker.h:66:48:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        const auto it = mThresholds.lowerBound(random);
data/tiled-qt-1.4.3/src/tiled/randompicker.h:80:48:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        const auto it = mThresholds.lowerBound(random);
data/tiled-qt-1.4.3/src/tiled/stampactions.h:41:14:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    QAction *random() const { return mRandom; }
data/tiled-qt-1.4.3/src/tiled/stampbrush.cpp:62:28:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    connect(mStampActions->random(), &QAction::toggled, this, &StampBrush::randomChanged);
data/tiled-qt-1.4.3/src/tiled/stampbrush.cpp:657:24:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        mStampActions->random()->setChecked(false);
data/tiled-qt-1.4.3/src/libtiled/mapreader.cpp:224: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).
    } else if (!file->open(QFile::ReadOnly | QFile::Text)) {
data/tiled-qt-1.4.3/src/libtiled/mapwriter.cpp:110: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 (!file->open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/libtiled/objecttypes.cpp:250: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/libtiled/objecttypes.cpp:283: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/libtiled/savefile.h:51: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(QIODevice::OpenMode mode);
data/tiled-qt-1.4.3/src/libtiled/savefile.h:72: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).
inline bool SaveFile::open(QIODevice::OpenMode mode)
data/tiled-qt-1.4.3/src/libtiled/savefile.h:74:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    return mFileDevice->open(mode);
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:349:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char flipMaskH[16] = { 8, 6, 5, 4, 12, 2, 1, 0, 0, 14, 13, 12, 4, 10, 9, 8 }; // [0,15]<=>[8,7]; 2<=>5; 1<=>6; [12,3]<=>[4,11]; 14<=>9; 13<=>10;
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:350:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char flipMaskV[16] = { 4, 10, 9, 8, 0, 14, 13, 12, 12, 2, 1, 0, 8, 6, 5, 4 }; // [0,15]<=>[4,11]; 2<=>9; 1<=>10; [12,3]<=>[8,7]; 14<=>5; 13<=>6;
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:394:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char rotateRightMask[8] = { 5, 4, 1, 0, 7, 6, 3, 2 };
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:395:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char rotateLeftMask[8]  = { 3, 2, 7, 6, 1, 0, 5, 4 };
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:481:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char rotateRightMask[16] = { 2, 12, 1, 14, 6, 8, 5, 10, 10,  4, 9, 0, 14,  0, 13,  2 }; // [0,15]->2->1->[12,3]->14->13; [8,7]->10->9->[4,11]->6->5;
data/tiled-qt-1.4.3/src/libtiled/tilelayer.cpp:482:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char rotateLeftMask[16]  = { 13, 2, 0,  1, 9, 6, 4,  5,  5, 10, 8, 9,  1, 14, 12, 13 }; // [0,15]->13->14->[12,3]->1->2; [8,7]->5->6->[4,11]->9->10;
data/tiled-qt-1.4.3/src/libtiled/worldmanager.cpp:133: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/libtiled/worldmanager.cpp:318: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/csv/csvplugin.cpp:54:19:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/defold/defoldplugin.cpp:131: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 (!mapFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin.cpp:296:80:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                mError = QCoreApplication::translate("File Errors", "Could not open file for writing.");
data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin.cpp:402:80:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                mError = QCoreApplication::translate("File Errors", "Could not open file for writing.");
data/tiled-qt-1.4.3/src/plugins/defoldcollection/defoldcollectionplugin.cpp:431:72:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        mError = QCoreApplication::translate("File Errors", "Could not open file for writing.");
data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.cpp:47: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 (f.open(QIODevice::ReadOnly)) {
data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.cpp:130: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 (!file.open(QIODevice::WriteOnly)) {
data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.cpp:55: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 (!file.open (QIODevice::ReadOnly)) {
data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.cpp:302: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 (!file.open(QFile::WriteOnly | QFile::Text)) {
data/tiled-qt-1.4.3/src/plugins/gmx/gmxplugin.cpp:108: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:56: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:97: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:175:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:218: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:248: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:272: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:329: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:361: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:376: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json/qjsonparser/jsonparser.cpp:275:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy((char *)str.utf16(), uc + start, i * 2);
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:56: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:97: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:175:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:218: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:248: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:272: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:329: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:361: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:376: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/json1/qjsonparser/jsonparser.cpp:275:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy((char *)str.utf16(), uc + start, i * 2);
data/tiled-qt-1.4.3/src/plugins/lua/luaplugin.cpp:114: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/lua/luaplugin.cpp:159: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp:58: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 (!file.open(QIODevice::ReadOnly)) {
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp:221: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 (!f.open(QIODevice::ReadOnly))
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp:241: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 (!file.open(QIODevice::WriteOnly)) {
data/tiled-qt-1.4.3/src/plugins/tengine/tengineplugin.cpp:51: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/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/tiled-qt-1.4.3/src/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/tiled-qt-1.4.3/src/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/tiled-qt-1.4.3/src/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);
data/tiled-qt-1.4.3/src/tiled/automappingmanager.cpp:164: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).
    if (!rulesFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/command.cpp:237: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).
        if (!mFile.open()) {
data/tiled-qt-1.4.3/src/tiled/commanddatamodel.cpp:255:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    const char *sectionLabels[3] = {
data/tiled-qt-1.4.3/src/tiled/documentmanager.cpp:152:51:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    OpenFile::activated = [this] (const OpenFile &open) {
data/tiled-qt-1.4.3/src/tiled/documentmanager.cpp:153: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).
        openFile(open.file);
data/tiled-qt-1.4.3/src/tiled/objecttypeseditor.cpp:545: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).
    dialog->open();
data/tiled-qt-1.4.3/src/tiled/project.cpp:88: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text))
data/tiled-qt-1.4.3/src/tiled/project.cpp:104: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text))
data/tiled-qt-1.4.3/src/tiled/propertiesdock.cpp:324: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).
    dialog->open();
data/tiled-qt-1.4.3/src/tiled/scriptfile.cpp:62:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (Q_UNLIKELY(!m_file->open(m))) {
data/tiled-qt-1.4.3/src/tiled/scriptfile.cpp:226:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (Q_UNLIKELY(!m_file->open(m))) {
data/tiled-qt-1.4.3/src/tiled/scriptmanager.cpp:166: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 (!file.open(QFile::ReadOnly | QFile::Text)) {
data/tiled-qt-1.4.3/src/tiled/scriptmodule.cpp:204:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
EditableAsset *ScriptModule::open(const QString &fileName) const
data/tiled-qt-1.4.3/src/tiled/scriptmodule.h:105: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).
    Q_INVOKABLE Tiled::EditableAsset *open(const QString &fileName) const;
data/tiled-qt-1.4.3/src/tiled/shortcutsettingspage.cpp:668: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 (!file.open(QFile::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/shortcutsettingspage.cpp:721: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 (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/tilestampmanager.cpp:214: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 (!stampFile.open(QIODevice::ReadOnly))
data/tiled-qt-1.4.3/src/tiled/tilestampmanager.cpp:297: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 (!file.open(QIODevice::WriteOnly)) {
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:68: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).
    buffer.open(QIODevice::WriteOnly);
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:82: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).
    buffer.open(QBuffer::ReadOnly);
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:100: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:152: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:202: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 (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/tiled-qt-1.4.3/src/tiled/wangcolorview.cpp:198: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).
    colorPicker->open();
data/tiled-qt-1.4.3/src/libtiled/mapformat.cpp:40:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::unique_ptr<Map> map(format->read(fileName));
data/tiled-qt-1.4.3/src/libtiled/mapformat.h:73:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual std::unique_ptr<Map> read(const QString &fileName) = 0;
data/tiled-qt-1.4.3/src/libtiled/mapformat.h:126:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Map> read(const QString &) override { return nullptr; }
data/tiled-qt-1.4.3/src/libtiled/objecttemplateformat.cpp:31:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        auto objectTemplate = format->read(fileName);
data/tiled-qt-1.4.3/src/libtiled/objecttemplateformat.h:49:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual std::unique_ptr<ObjectTemplate> read(const QString &fileName) = 0;
data/tiled-qt-1.4.3/src/libtiled/tilesetformat.cpp:39:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SharedTileset tileset = format->read(fileName);
data/tiled-qt-1.4.3/src/libtiled/tilesetformat.h:55:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual SharedTileset read(const QString &fileName) = 0;
data/tiled-qt-1.4.3/src/libtiled/tilesetformat.h:87:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SharedTileset read(const QString &) override { return SharedTileset(); }
data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.cpp:39:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> DroidcraftPlugin::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/droidcraft/droidcraftplugin.h:41:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.cpp:51:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> FlarePlugin::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/flare/flareplugin.h:42:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:53:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> JsonMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:214:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Tiled::SharedTileset JsonTilesetFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.cpp:325:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::ObjectTemplate> JsonObjectTemplateFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.h:63:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.h:86:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Tiled::SharedTileset read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json/jsonplugin.h:107:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::ObjectTemplate> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:53:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> JsonMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:214:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Tiled::SharedTileset JsonTilesetFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.cpp:325:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::ObjectTemplate> JsonObjectTemplateFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.h:63:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.h:86:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Tiled::SharedTileset read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/json1/jsonplugin.h:107:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::ObjectTemplate> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/python/pythonplugin.cpp:270:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> PythonMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/python/pythonplugin.h:88:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Tiled::Map *read(const QString &fileName);
data/tiled-qt-1.4.3/src/plugins/python/pythonplugin.h:107:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp:52:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> ReplicaIslandPlugin::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.cpp:224:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    qint64 read = f.read(&signature, 1);
data/tiled-qt-1.4.3/src/plugins/replicaisland/replicaislandplugin.h:54:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:37:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    T read( std::istream& in )
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:40:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read( reinterpret_cast< char* >( &t ), sizeof( T ) );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:45:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    sf::Vector2i read< sf::Vector2i >( std::istream& in )
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:47:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        sf::Int32 x = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:48:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        sf::Int32 y = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:53:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string read< std::string >( std::istream& in )
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:55:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        auto len = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:57:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read( &str[ 0 ], len );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:85:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int count = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:91:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            key = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:92:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            value.type = static_cast< PropertyValue::Type >( read< sf::Uint8 >( in ) );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:95:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                case PropertyValue::Bool:    value.data.b  = read< sf::Uint8   >( in ) > 0; break;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:96:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                case PropertyValue::Integer: value.data.i  = read< sf::Int32   >( in );     break;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:97:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                case PropertyValue::Float:   value.data.f  = read< float       >( in );     break;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:98:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                case PropertyValue::String:  value.dataStr = read< std::string >( in );     break;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:130:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.id = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:131:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.desc = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:132:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.image = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:133:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.sheetSize = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:134:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.tileSize = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:135:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.margin = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:136:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.spacing = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:157:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.staticData.tileIndex = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:158:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.staticData.blendMode = read< sf::Uint8 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:173:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.animatedData.frameInterval = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:175:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int frameCount = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:184:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    currTilesheet = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:225:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.id = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:226:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.visible = read< sf::Uint8 >( in ) > 0;
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:227:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.desc = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:228:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.layerSize = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:229:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret.tileSize = read< sf::Vector2i >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:241:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                sf::Uint8 c = read< sf::Uint8 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:245:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        ix += read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:256:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        currTilesheet = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:342:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read( &magic[ 0 ], 6 );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:348:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string id = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:349:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string desc = read< std::string >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:353:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int tilesheetCount = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbin/Map.cpp:360:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int layerCount = read< sf::Int32 >( in );
data/tiled-qt-1.4.3/src/plugins/tbin/tbinplugin.cpp:114:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Tiled::Map> TbinMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/plugins/tbin/tbinplugin.cpp:414:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read(&magic[0], static_cast<std::streamsize>(magic.length()));
data/tiled-qt-1.4.3/src/plugins/tbin/tbinplugin.h:55:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Tiled::Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/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/tiled-qt-1.4.3/src/tiled/brokenlinks.cpp:610:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        QImage image = reader.read();
data/tiled-qt-1.4.3/src/tiled/command.cpp:181:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant arguments = read(QStringLiteral("arguments"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:182:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant enable = read(QStringLiteral("enabled"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:183:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant executable = read(QStringLiteral("command"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:184:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant name = read(QStringLiteral("name"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:185:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant saveBeforeExecute = read(QStringLiteral("saveBeforeExecute"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:186:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant shortcut = read(QStringLiteral("shortcut"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:187:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant showOutput = read(QStringLiteral("showOutput"));
data/tiled-qt-1.4.3/src/tiled/command.cpp:188:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QVariant workingDirectory = read(QStringLiteral("workingDirectory"));
data/tiled-qt-1.4.3/src/tiled/mapdocument.cpp:166:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto map = format->read(fileName);
data/tiled-qt-1.4.3/src/tiled/mapeditor.cpp:910:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tileset = tilesetFormat->read(fileName);
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp:70:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
QJSValue ScriptedFileFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp:181:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Map> ScriptedMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp:185:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    QJSValue resultValue = mFormat.read(fileName);
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp:226:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
SharedTileset ScriptedTilesetFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.cpp:230:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    QJSValue resultValue = mFormat.read(fileName);
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.h:41:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    QJSValue read(const QString &fileName);
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.h:72:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/tiled/scriptedfileformat.h:99:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SharedTileset read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/tiled/scriptfile.cpp:122:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
QByteArray ScriptBinaryFile::read(qint64 size)
data/tiled-qt-1.4.3/src/tiled/scriptfile.cpp:126:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const QByteArray data = m_file->read(size);
data/tiled-qt-1.4.3/src/tiled/scriptfile.h:61:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Q_INVOKABLE QByteArray read(qint64 size);
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.cpp:78:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
EditableTileset *ScriptTilesetFormatWrapper::read(const QString &filename)
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.cpp:83:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto tileset = static_cast<TilesetFormat*>(mFormat)->read(filename);
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.cpp:113:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
EditableMap *ScriptMapFormatWrapper::read(const QString &filename)
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.cpp:118:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto map = static_cast<MapFormat*>(mFormat)->read(filename);
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.h:62:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Q_INVOKABLE Tiled::EditableTileset *read(const QString &filename);
data/tiled-qt-1.4.3/src/tiled/scriptfileformatwrappers.h:73:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Q_INVOKABLE Tiled::EditableMap *read(const QString &filename);
data/tiled-qt-1.4.3/src/tiled/tilesetdocument.cpp:142:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SharedTileset tileset = format->read(fileName());
data/tiled-qt-1.4.3/src/tiled/tilesetdocument.cpp:164:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SharedTileset tileset = format->read(fileName);
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:39:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<Map> TmxMapFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:118:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
SharedTileset TsxTilesetFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.cpp:169:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::unique_ptr<ObjectTemplate> XmlObjectTemplateFormat::read(const QString &fileName)
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.h:44:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<Map> read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.h:89:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SharedTileset read(const QString &fileName) override;
data/tiled-qt-1.4.3/src/tiled/tmxmapformat.h:116:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ObjectTemplate> read(const QString &fileName) override;

ANALYSIS SUMMARY:

Hits = 205
Lines analyzed = 156394 in approximately 3.53 seconds (44352 lines/second)
Physical Source Lines of Code (SLOC) = 103231
Hits@level = [0]   0 [1] 110 [2]  79 [3]   7 [4]   9 [5]   0
Hits@level+ = [0+] 205 [1+] 205 [2+]  95 [3+]  16 [4+]   9 [5+]   0
Hits/KSLOC@level+ = [0+] 1.98584 [1+] 1.98584 [2+] 0.920266 [3+] 0.154992 [4+] 0.0871831 [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.