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/wacomtablet-3.2.0/autotests/kded/tabletbackendmock.h
Examining data/wacomtablet-3.2.0/autotests/kded/kdedtestutils.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/tabletdatabase/testtabletdatabase.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/tabletdependenttest.h
Examining data/wacomtablet-3.2.0/autotests/kded/tabletbackendmock.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/tablethandlermock.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/propertyadaptormock.h
Examining data/wacomtablet-3.2.0/autotests/kded/tablethandlermock.h
Examining data/wacomtablet-3.2.0/autotests/kded/kdedtestutils.h
Examining data/wacomtablet-3.2.0/autotests/kded/tabletdependenttest.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/xsetwacomadaptor/testxsetwacomadaptor.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/tabletbackend/testtabletbackend.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/tablethandler/testtablethandler.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/dbustabletservice/testdbustabletservice.cpp
Examining data/wacomtablet-3.2.0/autotests/kded/xinputadaptor/testxinputadaptor.cpp
Examining data/wacomtablet-3.2.0/autotests/faketablet/setmapping.cpp
Examining data/wacomtablet-3.2.0/autotests/faketablet/faketablet.cpp
Examining data/wacomtablet-3.2.0/autotests/common/screenspace/testscreenspace.cpp
Examining data/wacomtablet-3.2.0/autotests/common/libwacomdata/testlibwacomdata.cpp
Examining data/wacomtablet-3.2.0/autotests/common/tabletarea/testtabletarea.cpp
Examining data/wacomtablet-3.2.0/autotests/common/propertyset/testpropertyset.cpp
Examining data/wacomtablet-3.2.0/autotests/common/commontestutils.cpp
Examining data/wacomtablet-3.2.0/autotests/common/deviceinformation/testdeviceinformation.cpp
Examining data/wacomtablet-3.2.0/autotests/common/buttonshortcut/testbuttonshortcut.cpp
Examining data/wacomtablet-3.2.0/autotests/common/commontestutils.h
Examining data/wacomtablet-3.2.0/autotests/common/enum/testenum.cpp
Examining data/wacomtablet-3.2.0/autotests/common/deviceprofile/testdeviceprofile.cpp
Examining data/wacomtablet-3.2.0/autotests/common/tabletprofile/testtabletprofile.cpp
Examining data/wacomtablet-3.2.0/autotests/common/profilemanager/testprofilemanager.cpp
Examining data/wacomtablet-3.2.0/autotests/common/property/testproperty.cpp
Examining data/wacomtablet-3.2.0/autotests/common/tabletprofileconfigadaptor/testtabletprofileconfigadaptor.cpp
Examining data/wacomtablet-3.2.0/autotests/common/deviceprofileconfigadaptor/testdeviceprofileconfigadaptor.cpp
Examining data/wacomtablet-3.2.0/autotests/common/tabletinformation/testtabletinformation.cpp
Examining data/wacomtablet-3.2.0/autotests/common/deviceproperty/testdeviceproperty.cpp
Examining data/wacomtablet-3.2.0/autotests/kcm/profilemanagementmocks.cpp
Examining data/wacomtablet-3.2.0/autotests/kcm/styluspage/teststyluspage.cpp
Examining data/wacomtablet-3.2.0/autotests/kcm/profilemanagementmocks.h
Examining data/wacomtablet-3.2.0/autotests/kcm/tabletpage/testtabletpage.cpp
Examining data/wacomtablet-3.2.0/src/kded/xinputadaptor.cpp
Examining data/wacomtablet-3.2.0/src/kded/tabletfinder.h
Examining data/wacomtablet-3.2.0/src/kded/xinputproperty.h
Examining data/wacomtablet-3.2.0/src/kded/tabletbackendfactory.h
Examining data/wacomtablet-3.2.0/src/kded/tabletbackend.h
Examining data/wacomtablet-3.2.0/src/kded/dbustabletservice.h
Examining data/wacomtablet-3.2.0/src/kded/dbustabletservice.cpp
Examining data/wacomtablet-3.2.0/src/kded/tablethandlerinterface.h
Examining data/wacomtablet-3.2.0/src/kded/tabletfinder.cpp
Examining data/wacomtablet-3.2.0/src/kded/xsetwacomadaptor.h
Examining data/wacomtablet-3.2.0/src/kded/xsetwacomproperty.cpp
Examining data/wacomtablet-3.2.0/src/kded/x11eventnotifier.h
Examining data/wacomtablet-3.2.0/src/kded/procsystemadaptor.h
Examining data/wacomtablet-3.2.0/src/kded/procsystemproperty.cpp
Examining data/wacomtablet-3.2.0/src/kded/x11tabletfinder.cpp
Examining data/wacomtablet-3.2.0/src/kded/xinputadaptor.h
Examining data/wacomtablet-3.2.0/src/kded/procsystemadaptor.cpp
Examining data/wacomtablet-3.2.0/src/kded/procsystemproperty.h
Examining data/wacomtablet-3.2.0/src/kded/tablethandler.cpp
Examining data/wacomtablet-3.2.0/src/kded/xsetwacomadaptor.cpp
Examining data/wacomtablet-3.2.0/src/kded/tabletdaemon.cpp
Examining data/wacomtablet-3.2.0/src/kded/x11eventnotifier.cpp
Examining data/wacomtablet-3.2.0/src/kded/xinputproperty.cpp
Examining data/wacomtablet-3.2.0/src/kded/eventnotifier.cpp
Examining data/wacomtablet-3.2.0/src/kded/eventnotifier.h
Examining data/wacomtablet-3.2.0/src/kded/tabletbackendinterface.h
Examining data/wacomtablet-3.2.0/src/kded/xsetwacomproperty.h
Examining data/wacomtablet-3.2.0/src/kded/tabletdaemon.h
Examining data/wacomtablet-3.2.0/src/kded/tabletbackend.cpp
Examining data/wacomtablet-3.2.0/src/kded/tabletbackendfactory.cpp
Examining data/wacomtablet-3.2.0/src/kded/x11tabletfinder.h
Examining data/wacomtablet-3.2.0/src/kded/tablethandler.h
Examining data/wacomtablet-3.2.0/src/common/tabletarea.h
Examining data/wacomtablet-3.2.0/src/common/tabletinformation.cpp
Examining data/wacomtablet-3.2.0/src/common/devicetype.cpp
Examining data/wacomtablet-3.2.0/src/common/screensinfo.h
Examining data/wacomtablet-3.2.0/src/common/buttonshortcut.h
Examining data/wacomtablet-3.2.0/src/common/x11inputdevice.h
Examining data/wacomtablet-3.2.0/src/common/screenmap.cpp
Examining data/wacomtablet-3.2.0/src/common/deviceprofile.h
Examining data/wacomtablet-3.2.0/src/common/tabletinfo.cpp
Examining data/wacomtablet-3.2.0/src/common/profilemanager.cpp
Examining data/wacomtablet-3.2.0/src/common/profilemanagementinterface.h
Examining data/wacomtablet-3.2.0/src/common/x11input.h
Examining data/wacomtablet-3.2.0/src/common/devicetype.h
Examining data/wacomtablet-3.2.0/src/common/screenrotation.h
Examining data/wacomtablet-3.2.0/src/common/x11wacom.h
Examining data/wacomtablet-3.2.0/src/common/property.h
Examining data/wacomtablet-3.2.0/src/common/libwacomwrapper.h
Examining data/wacomtablet-3.2.0/src/common/profilemanagement.cpp
Examining data/wacomtablet-3.2.0/src/common/deviceprofiledefaults.h
Examining data/wacomtablet-3.2.0/src/common/configadaptor.h
Examining data/wacomtablet-3.2.0/src/common/tabletprofileconfigadaptor.cpp
Examining data/wacomtablet-3.2.0/src/common/propertyset.h
Examining data/wacomtablet-3.2.0/src/common/tabletprofile.cpp
Examining data/wacomtablet-3.2.0/src/common/tabletdatabase.cpp
Examining data/wacomtablet-3.2.0/src/common/globalactions.h
Examining data/wacomtablet-3.2.0/src/common/screenspace.cpp
Examining data/wacomtablet-3.2.0/src/common/screensinfo.cpp
Examining data/wacomtablet-3.2.0/src/common/mainconfig.cpp
Examining data/wacomtablet-3.2.0/src/common/deviceinformation.h
Examining data/wacomtablet-3.2.0/src/common/stringutils.cpp
Examining data/wacomtablet-3.2.0/src/common/tabletdatabase.h
Examining data/wacomtablet-3.2.0/src/common/tabletinformation.h
Examining data/wacomtablet-3.2.0/src/common/enum.h
Examining data/wacomtablet-3.2.0/src/common/tabletprofile.h
Examining data/wacomtablet-3.2.0/src/common/profilemanagement.h
Examining data/wacomtablet-3.2.0/src/common/dbustabletinterface.h
Examining data/wacomtablet-3.2.0/src/common/x11input.cpp
Examining data/wacomtablet-3.2.0/src/common/dbustabletinterface.cpp
Examining data/wacomtablet-3.2.0/src/common/mainconfig.h
Examining data/wacomtablet-3.2.0/src/common/tabletarea.cpp
Examining data/wacomtablet-3.2.0/src/common/x11inputvisitor.h
Examining data/wacomtablet-3.2.0/src/common/deviceproperty.h
Examining data/wacomtablet-3.2.0/src/common/deviceproperty.cpp
Examining data/wacomtablet-3.2.0/src/common/stringutils.h
Examining data/wacomtablet-3.2.0/src/common/deviceprofiledefaults.cpp
Examining data/wacomtablet-3.2.0/src/common/libwacomwrapper.cpp
Examining data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp
Examining data/wacomtablet-3.2.0/src/common/buttonshortcut.cpp
Examining data/wacomtablet-3.2.0/src/common/screenrotation.cpp
Examining data/wacomtablet-3.2.0/src/common/tabletinfo.h
Examining data/wacomtablet-3.2.0/src/common/propertyadaptor.cpp
Examining data/wacomtablet-3.2.0/src/common/globalactions.cpp
Examining data/wacomtablet-3.2.0/src/common/profilemanager.h
Examining data/wacomtablet-3.2.0/src/common/aboutdata.cpp
Examining data/wacomtablet-3.2.0/src/common/screenspace.h
Examining data/wacomtablet-3.2.0/src/common/deviceinformation.cpp
Examining data/wacomtablet-3.2.0/src/common/deviceprofileconfigadaptor.cpp
Examining data/wacomtablet-3.2.0/src/common/x11wacom.cpp
Examining data/wacomtablet-3.2.0/src/common/screenmap.h
Examining data/wacomtablet-3.2.0/src/common/propertyadaptor.h
Examining data/wacomtablet-3.2.0/src/common/tabletprofileconfigadaptor.h
Examining data/wacomtablet-3.2.0/src/common/property.cpp
Examining data/wacomtablet-3.2.0/src/common/aboutdata.h
Examining data/wacomtablet-3.2.0/src/common/deviceprofile.cpp
Examining data/wacomtablet-3.2.0/src/common/deviceprofileconfigadaptor.h
Examining data/wacomtablet-3.2.0/src/tabletfinder/main.cpp
Examining data/wacomtablet-3.2.0/src/tabletfinder/hwbuttondialog.cpp
Examining data/wacomtablet-3.2.0/src/tabletfinder/hwbuttondialog.h
Examining data/wacomtablet-3.2.0/src/tabletfinder/dialog.h
Examining data/wacomtablet-3.2.0/src/tabletfinder/dialog.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/pressurecurvewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectiondialog.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectionview.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/keysequenceinputbutton.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/styluspagewidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/pressurecurvedialog.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectorwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/styluspagewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletpagewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectionwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/touchpagewidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectorwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/calibrationdialog.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectionview.h
Examining data/wacomtablet-3.2.0/src/kcmodule/areaselectionwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectionwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/kcmwacomtablet.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonpagewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonpagewidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/areaselectionwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectionwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectiondialog.h
Examining data/wacomtablet-3.2.0/src/kcmodule/pressurecurvedialog.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/touchpagewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactiondisplaywidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactiondisplaywidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/keysequenceinputwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/keysequenceinputbutton.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectioncontroller.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectioncontroller.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/kcmwacomtabletwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectionwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/generalpagewidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/keysequenceinputwidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletareaselectiondialog.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/generalpagewidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/tabletpagewidget.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/kcmwacomtabletwidget.h
Examining data/wacomtablet-3.2.0/src/kcmodule/kcmwacomtablet.h
Examining data/wacomtablet-3.2.0/src/kcmodule/buttonactionselectiondialog.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/calibrationdialog.cpp
Examining data/wacomtablet-3.2.0/src/kcmodule/pressurecurvewidget.cpp
Examining data/wacomtablet-3.2.0/src/dataengine/wacomtabletservice.h
Examining data/wacomtablet-3.2.0/src/dataengine/wacomtabletengine.cpp
Examining data/wacomtablet-3.2.0/src/dataengine/wacomtabletengine.h
Examining data/wacomtablet-3.2.0/src/dataengine/wacomtabletservice.cpp
Examining data/wacomtablet-3.2.0/src/dataengine/multidbuspendingcallwatcher.cpp
Examining data/wacomtablet-3.2.0/src/dataengine/multidbuspendingcallwatcher.h

FINAL RESULTS:

data/wacomtablet-3.2.0/autotests/common/deviceprofileconfigadaptor/testdeviceprofileconfigadaptor.cpp:53:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    QVERIFY(tempFile.open());
data/wacomtablet-3.2.0/autotests/common/profilemanager/testprofilemanager.cpp:51:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    QVERIFY(tempFile.open());
data/wacomtablet-3.2.0/autotests/common/tabletprofileconfigadaptor/testtabletprofileconfigadaptor.cpp:54:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    QVERIFY(tempFile.open());
data/wacomtablet-3.2.0/autotests/faketablet/faketablet.cpp:135: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 ((device = open("/dev/uinput", O_WRONLY | O_NONBLOCK)) < 0) {
data/wacomtablet-3.2.0/autotests/kded/kdedtestutils.cpp:66: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/wacomtablet-3.2.0/autotests/kded/kdedtestutils.cpp:87: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/wacomtablet-3.2.0/src/common/mainconfig.cpp:40:5:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    open(QLatin1String("wacomtablet-kderc"));
data/wacomtablet-3.2.0/src/common/mainconfig.cpp:46:5:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    open(fileName);
data/wacomtablet-3.2.0/src/common/mainconfig.cpp:62: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).
void MainConfig::open(const QString& fileName)
data/wacomtablet-3.2.0/src/common/mainconfig.h:39:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    void open (const QString& fileName);
data/wacomtablet-3.2.0/src/common/profilemanager.cpp:52:5:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    open(filename);
data/wacomtablet-3.2.0/src/common/profilemanager.cpp:313:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void ProfileManager::open(const QString& filename)
data/wacomtablet-3.2.0/src/common/profilemanager.h:201:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    void open (const QString& filename);
data/wacomtablet-3.2.0/src/common/x11input.cpp:56:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            found = device.open (info[i].id, QLatin1String(info[i].name));
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:53:5:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    open(id, name);
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:82:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        open(that.d_ptr->deviceid, that.d_ptr->name);
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:283:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool X11InputDevice::open(X11InputDevice::XID id, const QString& name)
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:452: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(&replyData, data + i, sizeof(uint32_t));
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:591:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(data + i, &value, sizeof(uint32_t));
data/wacomtablet-3.2.0/src/common/x11inputdevice.h:178: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 (XID id, const QString& name);
data/wacomtablet-3.2.0/src/kded/tablethandler.cpp:70: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).
    d->mainConfig.open(QLatin1String("wacomtablet-kderc"));
data/wacomtablet-3.2.0/src/kded/tablethandler.cpp:80: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).
    d->mainConfig.open(configFile);
data/wacomtablet-3.2.0/src/kded/x11eventnotifier.cpp:142:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[sizeof(xcb_input_event_mask_t) + sizeof(uint32_t)];
data/wacomtablet-3.2.0/autotests/common/libwacomdata/testlibwacomdata.cpp:111:29:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
                    && std::equal(localMap.begin(), localMap.end(), libwacomMap.begin());
data/wacomtablet-3.2.0/autotests/common/libwacomdata/testlibwacomdata.cpp:134:49:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    qDebug() << "OK:" << okay << "MISMATCH:" << mismatch << "ONLYLOCAL" << missingLibwacom << "ONLYWACOM" << missingLocal;
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:167:86:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    xcb_intern_atom_cookie_t cookie = xcb_intern_atom(QX11Info::connection(), false, strlen("FLOAT"), "FLOAT");
data/wacomtablet-3.2.0/src/common/x11inputdevice.cpp:375:86:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    xcb_intern_atom_cookie_t cookie = xcb_intern_atom(QX11Info::connection(), false, strlen("FLOAT"), "FLOAT");

ANALYSIS SUMMARY:

Hits = 27
Lines analyzed = 29397 in approximately 0.78 seconds (37712 lines/second)
Physical Source Lines of Code (SLOC) = 15037
Hits@level = [0]   1 [1]   4 [2]  23 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  28 [1+]  27 [2+]  23 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.86207 [1+] 1.79557 [2+] 1.52956 [3+]   0 [4+]   0 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.