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/glogg-1.1.4/src/inotifywatchtowerdriver.h Examining data/glogg-1.1.4/src/qtfilewatcher.cpp Examining data/glogg-1.1.4/src/menuactiontooltipbehavior.cpp Examining data/glogg-1.1.4/src/filewatcher.cpp Examining data/glogg-1.1.4/src/loadingstatus.h Examining data/glogg-1.1.4/src/externalcom.h Examining data/glogg-1.1.4/src/infoline.cpp Examining data/glogg-1.1.4/src/socketexternalcom.h Examining data/glogg-1.1.4/src/optionsdialog.h Examining data/glogg-1.1.4/src/signalmux.cpp Examining data/glogg-1.1.4/src/quickfindpattern.cpp Examining data/glogg-1.1.4/src/menuactiontooltipbehavior.h Examining data/glogg-1.1.4/src/perfcounter.h Examining data/glogg-1.1.4/src/dbusexternalcom.h Examining data/glogg-1.1.4/src/winwatchtowerdriver.h Examining data/glogg-1.1.4/src/recentfiles.h Examining data/glogg-1.1.4/src/versionchecker.h Examining data/glogg-1.1.4/src/persistentinfo.h Examining data/glogg-1.1.4/src/main.cpp Examining data/glogg-1.1.4/src/quickfindmux.h Examining data/glogg-1.1.4/src/tabbedcrawlerwidget.h Examining data/glogg-1.1.4/src/filewatcher.h Examining data/glogg-1.1.4/src/watchtower.h Examining data/glogg-1.1.4/src/quickfind.cpp Examining data/glogg-1.1.4/src/viewtools.h Examining data/glogg-1.1.4/src/dbuscontrol.h Examining data/glogg-1.1.4/src/configuration.cpp Examining data/glogg-1.1.4/src/quickfindpattern.h Examining data/glogg-1.1.4/src/encodingspeculator.cpp Examining data/glogg-1.1.4/src/abstractlogview.cpp Examining data/glogg-1.1.4/src/winfilewatcher.h Examining data/glogg-1.1.4/src/recentfiles.cpp Examining data/glogg-1.1.4/src/sessioninfo.h Examining data/glogg-1.1.4/src/selection.h Examining data/glogg-1.1.4/src/winwatchtowerdriver.cpp Examining data/glogg-1.1.4/src/filtersdialog.h Examining data/glogg-1.1.4/src/quickfind.h Examining data/glogg-1.1.4/src/filtersdialog.cpp Examining data/glogg-1.1.4/src/overview.cpp Examining data/glogg-1.1.4/src/persistentinfo.cpp Examining data/glogg-1.1.4/src/dbusexternalcom.cpp Examining data/glogg-1.1.4/src/mainwindow.h Examining data/glogg-1.1.4/src/socketexternalcom.cpp Examining data/glogg-1.1.4/src/sessioninfo.cpp Examining data/glogg-1.1.4/src/configuration.h Examining data/glogg-1.1.4/src/watchtowerlist.h Examining data/glogg-1.1.4/src/utils.h Examining data/glogg-1.1.4/src/inotifywatchtowerdriver.cpp Examining data/glogg-1.1.4/src/viewtools.cpp Examining data/glogg-1.1.4/src/overviewwidget.cpp Examining data/glogg-1.1.4/src/persistable.h Examining data/glogg-1.1.4/src/marks.h Examining data/glogg-1.1.4/src/platformfilewatcher.h Examining data/glogg-1.1.4/src/filteredview.cpp Examining data/glogg-1.1.4/src/overviewwidget.h Examining data/glogg-1.1.4/src/log.h Examining data/glogg-1.1.4/src/quickfindwidget.cpp Examining data/glogg-1.1.4/src/watchtowerlist.cpp Examining data/glogg-1.1.4/src/savedsearches.cpp Examining data/glogg-1.1.4/src/quickfindmux.cpp Examining data/glogg-1.1.4/src/optionsdialog.cpp Examining data/glogg-1.1.4/src/quickfindwidget.h Examining data/glogg-1.1.4/src/config.h Examining data/glogg-1.1.4/src/logmainview.cpp Examining data/glogg-1.1.4/src/watchtower.cpp Examining data/glogg-1.1.4/src/filteredview.h Examining data/glogg-1.1.4/src/encodingspeculator.h Examining data/glogg-1.1.4/src/qfnotifications.h Examining data/glogg-1.1.4/src/mainwindow.cpp Parsing failed to find end of parameter list; semicolon terminated it in ( fileName.toStdString(), []() { return new CrawlerWidget(); } ) ); assert( crawler_widget ); // We won't show the widget until the file is fully loaded cr Examining data/glogg-1.1.4/src/crawlerwidget.cpp Examining data/glogg-1.1.4/src/session.h Examining data/glogg-1.1.4/src/filterset.cpp Examining data/glogg-1.1.4/src/marks.cpp Examining data/glogg-1.1.4/src/viewinterface.h Examining data/glogg-1.1.4/src/qtfilewatcher.h Examining data/glogg-1.1.4/src/session.cpp Examining data/glogg-1.1.4/src/filterset.h Examining data/glogg-1.1.4/src/versionchecker.cpp Examining data/glogg-1.1.4/src/savedsearches.h Examining data/glogg-1.1.4/src/platformfilewatcher.cpp Examining data/glogg-1.1.4/src/infoline.h Examining data/glogg-1.1.4/src/tabbedcrawlerwidget.cpp Examining data/glogg-1.1.4/src/crawlerwidget.h Examining data/glogg-1.1.4/src/overview.h Examining data/glogg-1.1.4/src/selection.cpp Examining data/glogg-1.1.4/src/data/linepositionarray.h Examining data/glogg-1.1.4/src/data/compressedlinestorage.cpp Examining data/glogg-1.1.4/src/data/logdataworkerthread.cpp Examining data/glogg-1.1.4/src/data/abstractlogdata.cpp Examining data/glogg-1.1.4/src/data/logfiltereddataworkerthread.cpp Examining data/glogg-1.1.4/src/data/logfiltereddata.cpp Examining data/glogg-1.1.4/src/data/logdata.h Examining data/glogg-1.1.4/src/data/logfiltereddata.h Examining data/glogg-1.1.4/src/data/logfiltereddataworkerthread.h Examining data/glogg-1.1.4/src/data/compressedlinestorage.h Examining data/glogg-1.1.4/src/data/logdata.cpp Examining data/glogg-1.1.4/src/data/logdataworkerthread.h Examining data/glogg-1.1.4/src/data/threadprivatestore.h Examining data/glogg-1.1.4/src/data/abstractlogdata.h Examining data/glogg-1.1.4/src/logmainview.h Examining data/glogg-1.1.4/src/signalmux.h Examining data/glogg-1.1.4/src/winfilewatcher.cpp Examining data/glogg-1.1.4/src/abstractlogview.h Examining data/glogg-1.1.4/tests/linepositionarrayTest.cpp Examining data/glogg-1.1.4/tests/testlogdata.h Examining data/glogg-1.1.4/tests/main.cpp Examining data/glogg-1.1.4/tests/itests.cpp Examining data/glogg-1.1.4/tests/filewatcherTest.cpp Examining data/glogg-1.1.4/tests/test_utils.h Examining data/glogg-1.1.4/tests/watchtowerTest.cpp Examining data/glogg-1.1.4/tests/testlogdata.cpp Examining data/glogg-1.1.4/tests/testlogfiltereddata.cpp Examining data/glogg-1.1.4/tests/encodingspeculatorTest.cpp Examining data/glogg-1.1.4/tests/testlogfiltereddata.h Examining data/glogg-1.1.4/tests/logfiltereddataTest.cpp Examining data/glogg-1.1.4/tests/logfiltereddataPerfTest.cpp Examining data/glogg-1.1.4/tests/logdataTest.cpp Examining data/glogg-1.1.4/tests/logdataPerfTest.cpp FINAL RESULTS: data/glogg-1.1.4/src/log.h:176:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. std::sprintf(result, "%s.%03ld", buffer, (long)(GetTickCount() - first) % 1000); data/glogg-1.1.4/src/log.h:194:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. std::sprintf(result, "%s.%03ld", buffer, (long)tv.tv_usec / 1000); data/glogg-1.1.4/tests/logdataPerfTest.cpp:33:17: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, vbl_format, i); data/glogg-1.1.4/tests/logdataTest.cpp:41:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/logdataTest.cpp:62:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/logdataTest.cpp:88:17: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/logdataTest.cpp:137:17: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/logfiltereddataPerfTest.cpp:57:17: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, vbl_format, i); data/glogg-1.1.4/tests/logfiltereddataTest.cpp:41:17: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/testlogdata.cpp:153:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, vbl_format, i); data/glogg-1.1.4/tests/testlogdata.cpp:165:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/testlogfiltereddata.cpp:263:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/testlogfiltereddata.cpp:297:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/testlogfiltereddata.cpp:328:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/testlogfiltereddata.cpp:633:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, ml_format, i); data/glogg-1.1.4/tests/testlogfiltereddata.cpp:645:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(newLine, 89, sl_format, i); data/glogg-1.1.4/tests/watchtowerTest.cpp:39:16: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). name = tmpnam( nullptr ); data/glogg-1.1.4/tests/watchtowerTest.cpp:65:24: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). return string( tmpnam( nullptr ) ); data/glogg-1.1.4/src/crawlerwidget.cpp:1054: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 string[160]; data/glogg-1.1.4/src/data/logdata.cpp:118:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). attached_file_->open( QIODevice::ReadOnly ); data/glogg-1.1.4/src/data/logdata.cpp:206:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). attached_file_->open( QIODevice::ReadOnly ); data/glogg-1.1.4/src/data/logdataworkerthread.cpp:215: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/glogg-1.1.4/src/inotifywatchtowerdriver.cpp:135:13: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[ INOTIFY_BUFFER_SIZE ] data/glogg-1.1.4/src/log.h:169:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[MAX_LEN]; data/glogg-1.1.4/src/log.h:174: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 result[100] = {0}; data/glogg-1.1.4/src/log.h:186:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[11]; data/glogg-1.1.4/src/log.h:193: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 result[100] = {0}; data/glogg-1.1.4/src/main.cpp:162:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file_name[255]; data/glogg-1.1.4/src/main.cpp:164:22: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE* file = fopen(file_name, "w"); data/glogg-1.1.4/src/mainwindow.cpp:246:57: [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). connect(openAction, SIGNAL(triggered()), this, SLOT(open())); data/glogg-1.1.4/src/mainwindow.cpp:430: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 MainWindow::open() data/glogg-1.1.4/src/mainwindow.cpp:834:27: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). session_->open( fileName.toStdString(), data/glogg-1.1.4/src/mainwindow.h:75: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(); data/glogg-1.1.4/src/session.cpp:63: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). ViewInterface* Session::open( const std::string& file_name, data/glogg-1.1.4/src/session.h:65: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). ViewInterface* open( const std::string& file_name, data/glogg-1.1.4/src/watchtowerlist.h:24:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer_[buffer_length_]; data/glogg-1.1.4/src/winwatchtowerdriver.h:125:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer_[buffer_length_]; data/glogg-1.1.4/tests/logdataPerfTest.cpp:28:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char newLine[90]; data/glogg-1.1.4/tests/logdataPerfTest.cpp:31: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 ) ) { data/glogg-1.1.4/tests/logdataTest.cpp:29: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 newLine[90]; data/glogg-1.1.4/tests/logdataTest.cpp:39: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/glogg-1.1.4/tests/logdataTest.cpp:60: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::Append ) ) { data/glogg-1.1.4/tests/logdataTest.cpp:85: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::Append ) ) { data/glogg-1.1.4/tests/logdataTest.cpp:110: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). QVERIFY( file.open( QIODevice::WriteOnly ) ); data/glogg-1.1.4/tests/logdataTest.cpp:132:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char newLine[90]; data/glogg-1.1.4/tests/logdataTest.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 ( file.open( QIODevice::WriteOnly ) ) { data/glogg-1.1.4/tests/logfiltereddataPerfTest.cpp:52:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char newLine[90]; data/glogg-1.1.4/tests/logfiltereddataPerfTest.cpp:55: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 ) ) { data/glogg-1.1.4/tests/logfiltereddataTest.cpp:36:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char newLine[90]; data/glogg-1.1.4/tests/logfiltereddataTest.cpp:39: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 ) ) { data/glogg-1.1.4/tests/testlogdata.cpp:148: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 newLine[90]; data/glogg-1.1.4/tests/testlogdata.cpp:151: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/glogg-1.1.4/tests/testlogdata.cpp:163: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/glogg-1.1.4/tests/testlogfiltereddata.cpp:259: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 newLine[90]; data/glogg-1.1.4/tests/testlogfiltereddata.cpp:261: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::Append ) ) { data/glogg-1.1.4/tests/testlogfiltereddata.cpp:294: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::Append ) ) { data/glogg-1.1.4/tests/testlogfiltereddata.cpp:325: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::Append ) ) { data/glogg-1.1.4/tests/testlogfiltereddata.cpp:628: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 newLine[90]; data/glogg-1.1.4/tests/testlogfiltereddata.cpp:631: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/glogg-1.1.4/tests/testlogfiltereddata.cpp:643: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/glogg-1.1.4/tests/testlogfiltereddata.cpp:655: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/glogg-1.1.4/tests/watchtowerTest.cpp:136: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). int fd = open( file_name.c_str(), O_WRONLY | O_APPEND ); data/glogg-1.1.4/tests/watchtowerTest.cpp:353:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp_dir[255]; data/glogg-1.1.4/tests/watchtowerTest.cpp:452:9: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t filename[13]; data/glogg-1.1.4/tests/watchtowerTest.cpp:504: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). fd_ = open( file_name.c_str(), O_WRONLY | O_APPEND ); data/glogg-1.1.4/src/data/logdata.cpp:360:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray blob = attached_file_->read( last_byte - first_byte ); data/glogg-1.1.4/src/data/logdata.cpp:400:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray blob = attached_file_->read( last_byte - first_byte ); data/glogg-1.1.4/src/data/logdataworkerthread.cpp:228:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const QByteArray block = file.read( sizeChunk ); data/glogg-1.1.4/src/inotifywatchtowerdriver.cpp:138:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t nb = read( inotify_fd_, buffer, sizeof( buffer ) ); data/glogg-1.1.4/src/inotifywatchtowerdriver.cpp:159:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read( breaking_pipe_read_fd_, &byte, sizeof byte ); data/glogg-1.1.4/src/versionchecker.cpp:112:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QString new_version = QString( reply->read( 256 ) ).remove( '\n' ); data/glogg-1.1.4/tests/logdataTest.cpp:79:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). + strlen( partial_line_begin ) ) ); data/glogg-1.1.4/tests/logdataTest.cpp:103:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). + strlen( partial_line_begin ) + strlen( partial_line_end ) ) ); data/glogg-1.1.4/tests/logdataTest.cpp:103:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). + strlen( partial_line_begin ) + strlen( partial_line_end ) ) ); data/glogg-1.1.4/tests/watchtowerTest.cpp:137:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). write( fd, (void*) string, strlen( string ) ); data/glogg-1.1.4/tests/watchtowerTest.cpp:513:37: [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). write( fd_, (void*) string, strlen( string ) ); ANALYSIS SUMMARY: Hits = 76 Lines analyzed = 20557 in approximately 0.49 seconds (42163 lines/second) Physical Source Lines of Code (SLOC) = 12792 Hits@level = [0] 3 [1] 11 [2] 47 [3] 2 [4] 16 [5] 0 Hits@level+ = [0+] 79 [1+] 76 [2+] 65 [3+] 18 [4+] 16 [5+] 0 Hits/KSLOC@level+ = [0+] 6.17573 [1+] 5.94121 [2+] 5.0813 [3+] 1.40713 [4+] 1.25078 [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.