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/ukui-greeter-3.0.1/ukui-greeter/greeter/languagewidget.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/rootWindowBackground.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/mainwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/usersview.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/iconedit.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/proxymodel.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/powerwindow.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/greeterwrapper.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/usersmodel.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/userentry.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/screenmodel.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/pagelistview.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/proxymodel.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/greeterwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/loginwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/usersmodel.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/greeterwrapper.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/greeterwindow.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/iconedit.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/languagewidget.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/screenmodel.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/loginwindow.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/userentry.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/main.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/mainwindow.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/rootWindowBackground.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/pagelistview.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/language.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/usersview.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/language.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/sessionwindow.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/powerwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/greeter/sessionwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/cursormonitor.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/cursormonitor.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/keyboardwidget.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/virtualkeyboard.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/x11keyboard.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/main.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/keyboardwidget.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/x11keyboard.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/virtualkeyboard.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/display-switch/ui_mainwindow.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/display-switch/displayswitch.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/display-switch/displayservice.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/display-switch/displayswitch.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/display-switch/displayservice.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/borderdialog.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/monitorwatcher.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/xeventmonitor.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/globalv.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/xeventmonitor.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/borderdialog.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/globalv.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/monitorwatcher.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/fakedialog.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/configuration.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/configuration.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/common/fakedialog.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricdeviceswidget.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricproxy.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricauthwidget.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricdeviceswidget.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricproxy.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricauthwidget.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/main.cpp
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricdeviceinfo.h
Examining data/ukui-greeter-3.0.1/ukui-greeter/BiometricAuth/biometricdeviceinfo.cpp

FINAL RESULTS:

data/ukui-greeter-3.0.1/ukui-greeter/greeter/main.cpp:129:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    language = QLocale::system().language();
data/ukui-greeter-3.0.1/ukui-greeter/greeter/main.cpp:134:61:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    QString qmFile = QM_DIR + QString("%1.qm").arg(QLocale::system().name());
data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/virtualkeyboard.cpp:49: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).
    qssFile.open(QIODevice::ReadOnly);
data/ukui-greeter-3.0.1/ukui-greeter/greeter/main.cpp:142: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).
    qss.open(QFile::ReadOnly);
data/ukui-greeter-3.0.1/ukui-greeter/VirtualKeyboard/src/keyboardwidget.cpp:209:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int start = strlen("btn_");
data/ukui-greeter-3.0.1/ukui-greeter/greeter/language.cpp:69:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if(language && strlen(language) > 0)
data/ukui-greeter-3.0.1/ukui-greeter/greeter/language.cpp:92:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if(country && strlen(country) > 0 && strcmp(country, "ISO") != 0)

ANALYSIS SUMMARY:

Hits = 7
Lines analyzed = 10412 in approximately 0.31 seconds (34099 lines/second)
Physical Source Lines of Code (SLOC) = 7220
Hits@level = [0]  13 [1]   3 [2]   2 [3]   0 [4]   2 [5]   0
Hits@level+ = [0+]  20 [1+]   7 [2+]   4 [3+]   2 [4+]   2 [5+]   0
Hits/KSLOC@level+ = [0+] 2.77008 [1+] 0.969529 [2+] 0.554017 [3+] 0.277008 [4+] 0.277008 [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.