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/tea-50.0.4/calendar.cpp Examining data/tea-50.0.4/calendar.h Examining data/tea-50.0.4/document.cpp Examining data/tea-50.0.4/document.h Examining data/tea-50.0.4/exif_reader.cpp Examining data/tea-50.0.4/exif_reader.h Examining data/tea-50.0.4/fman.cpp Examining data/tea-50.0.4/fman.h Examining data/tea-50.0.4/fontbox.cpp Examining data/tea-50.0.4/fontbox.h Examining data/tea-50.0.4/gui_utils.cpp Examining data/tea-50.0.4/gui_utils.h Examining data/tea-50.0.4/img_viewer.cpp Examining data/tea-50.0.4/img_viewer.h Examining data/tea-50.0.4/ioapi.h Examining data/tea-50.0.4/libretta_calc.cpp Examining data/tea-50.0.4/libretta_calc.h Examining data/tea-50.0.4/logmemo.cpp Examining data/tea-50.0.4/logmemo.h Examining data/tea-50.0.4/main.cpp Examining data/tea-50.0.4/minizip_crypt.h Examining data/tea-50.0.4/myjoystick.cpp Examining data/tea-50.0.4/myjoystick.h Examining data/tea-50.0.4/qioapi.cpp Examining data/tea-50.0.4/quaadler32.cpp Examining data/tea-50.0.4/quaadler32.h Examining data/tea-50.0.4/quachecksum32.h Examining data/tea-50.0.4/quacrc32.cpp Examining data/tea-50.0.4/quacrc32.h Examining data/tea-50.0.4/quagzipfile.cpp Examining data/tea-50.0.4/quagzipfile.h Examining data/tea-50.0.4/quaziodevice.cpp Examining data/tea-50.0.4/quaziodevice.h Examining data/tea-50.0.4/quazip.cpp Examining data/tea-50.0.4/quazip.h Examining data/tea-50.0.4/quazip_global.h Examining data/tea-50.0.4/quazipdir.cpp Examining data/tea-50.0.4/quazipdir.h Examining data/tea-50.0.4/quazipfile.cpp Examining data/tea-50.0.4/quazipfile.h Examining data/tea-50.0.4/quazipfileinfo.cpp Examining data/tea-50.0.4/quazipfileinfo.h Examining data/tea-50.0.4/quazipnewinfo.cpp Examining data/tea-50.0.4/quazipnewinfo.h Examining data/tea-50.0.4/rvln.cpp Examining data/tea-50.0.4/rvln.h Examining data/tea-50.0.4/shortcuts.cpp Examining data/tea-50.0.4/shortcuts.h Examining data/tea-50.0.4/single_application_shared.cpp Examining data/tea-50.0.4/single_application_shared.h Examining data/tea-50.0.4/spellchecker.cpp Examining data/tea-50.0.4/spellchecker.h Examining data/tea-50.0.4/text-data/tpl_c.c Examining data/tea-50.0.4/text-data/tpl_cpp.cpp Examining data/tea-50.0.4/textproc.cpp Examining data/tea-50.0.4/textproc.h Examining data/tea-50.0.4/tio.cpp Examining data/tea-50.0.4/tio.h Examining data/tea-50.0.4/todo.cpp Examining data/tea-50.0.4/todo.h Examining data/tea-50.0.4/tzipper.cpp Examining data/tea-50.0.4/tzipper.h Examining data/tea-50.0.4/unzip.c Examining data/tea-50.0.4/unzip.h Examining data/tea-50.0.4/utils.cpp Examining data/tea-50.0.4/utils.h Examining data/tea-50.0.4/wavinfo.cpp Examining data/tea-50.0.4/wavinfo.h Examining data/tea-50.0.4/zip.c Examining data/tea-50.0.4/zip.h FINAL RESULTS: data/tea-50.0.4/rvln.cpp:560:62: [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 lang = settings->value ("spell_lang", QLocale::system().name().left(2)).toString(); data/tea-50.0.4/rvln.cpp:579:84: [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. spellchecker = new CHunspellChecker (settings->value ("spell_lang", QLocale::system().name().left(2)).toString(), settings->value ("hunspell_dic_path", "/usr/share/hunspell").toString(), dir_user_dict); data/tea-50.0.4/rvln.cpp:652:50: [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 lng = settings->value ("lng", QLocale::system().name()).toString().left(2).toLower(); data/tea-50.0.4/rvln.cpp:2441:50: [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 lng = settings->value ("lng", QLocale::system().name()).toString().left(2).toLower(); data/tea-50.0.4/rvln.cpp:3213: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. QString loc = QLocale::system().name().left (2).toLower(); data/tea-50.0.4/rvln.cpp:4768:16: [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 (QLocale::system().name().left(2) == "ru") data/tea-50.0.4/rvln.cpp:7237:81: [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. spellchecker = new CAspellchecker (settings->value ("spell_lang", QLocale::system().name().left(2)).toString()); data/tea-50.0.4/rvln.cpp:7243:84: [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. spellchecker = new CHunspellChecker (settings->value ("spell_lang", QLocale::system().name().left(2)).toString(), "/usr/share/hunspell/"); data/tea-50.0.4/rvln.cpp:7947:22: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sdate = sdate.sprintf ("%02d-%02d-%02d", year, month, day); data/tea-50.0.4/minizip_crypt.h:116:9: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand((unsigned)(time(NULL) ^ ZCR_SEED2)); data/tea-50.0.4/document.cpp:440: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 (QFile::WriteOnly | QFile::Text)) data/tea-50.0.4/exif_reader.cpp:151:21: [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. return ((( char *)Long)[0] << 24) | (((uchar *)Long)[1] << 16) data/tea-50.0.4/exif_reader.cpp:154:21: [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. return ((( char *)Long)[3] << 24) | (((uchar *)Long)[2] << 16) data/tea-50.0.4/exif_reader.cpp:375:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (file.open(QIODevice::ReadOnly)) data/tea-50.0.4/ioapi.h:50:17: [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). #define fopen64 fopen data/tea-50.0.4/ioapi.h:55:18: [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). #define fopen64 fopen data/tea-50.0.4/minizip_crypt.h:104:14: [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. unsigned char header[RAND_HEAD_LEN-2]; /* random header */ data/tea-50.0.4/myjoystick.cpp:32: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). if ((fd = open (filename.toUtf8().data(), O_NONBLOCK)) == -1) data/tea-50.0.4/myjoystick.cpp:42:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char jname[80]; data/tea-50.0.4/qioapi.cpp:128: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). iodevice->open(desiredMode); data/tea-50.0.4/quagzipfile.cpp:38:36: [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). template<typename FileId> bool open(FileId id, data/tea-50.0.4/quagzipfile.cpp:40: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). gzFile open(int fd, const char *modeString); data/tea-50.0.4/quagzipfile.cpp:41: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). gzFile open(const QString &name, const char *modeString); data/tea-50.0.4/quagzipfile.cpp:44: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). gzFile QuaGzipFilePrivate::open(const QString &name, const char *modeString) data/tea-50.0.4/quagzipfile.cpp:49: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). gzFile QuaGzipFilePrivate::open(int fd, const char *modeString) data/tea-50.0.4/quagzipfile.cpp:55:26: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool QuaGzipFilePrivate::open(FileId id, QIODevice::OpenMode mode, data/tea-50.0.4/quagzipfile.cpp:58: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 modeString[2]; data/tea-50.0.4/quagzipfile.cpp:76: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). gzd = open(id, modeString); data/tea-50.0.4/quagzipfile.cpp:125: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). bool QuaGzipFile::open(QIODevice::OpenMode mode) data/tea-50.0.4/quagzipfile.cpp:128: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). if (!d->open(d->fileName, mode, error)) { data/tea-50.0.4/quagzipfile.cpp:132: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). return QIODevice::open(mode); data/tea-50.0.4/quagzipfile.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). bool QuaGzipFile::open(int fd, QIODevice::OpenMode mode) data/tea-50.0.4/quagzipfile.cpp:138: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). if (!d->open(fd, mode, error)) { data/tea-50.0.4/quagzipfile.cpp:142: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). return QIODevice::open(mode); data/tea-50.0.4/quagzipfile.h:79: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). virtual bool open(QIODevice::OpenMode mode); data/tea-50.0.4/quagzipfile.h:87: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). virtual bool open(int fd, QIODevice::OpenMode mode); data/tea-50.0.4/quaziodevice.cpp:70: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). debug.open(QIODevice::WriteOnly); data/tea-50.0.4/quaziodevice.cpp:74: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). indebug.open(QIODevice::WriteOnly); data/tea-50.0.4/quaziodevice.cpp:142: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 QuaZIODevice::open(QIODevice::OpenMode mode) data/tea-50.0.4/quaziodevice.cpp:164: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). return QIODevice::open(mode); data/tea-50.0.4/quaziodevice.h:79: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). virtual bool open(QIODevice::OpenMode mode); data/tea-50.0.4/quazip.cpp:222: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). bool QuaZip::open(Mode mode, zlib_filefunc_def* ioApi) data/tea-50.0.4/quazip.h:193: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(Mode mode, zlib_filefunc_def *ioApi =NULL); data/tea-50.0.4/quazipfile.cpp:250: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). bool QuaZipFile::open(OpenMode mode) data/tea-50.0.4/quazipfile.cpp:252: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). return open(mode, NULL); data/tea-50.0.4/quazipfile.cpp:255: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). bool QuaZipFile::open(OpenMode mode, int *method, int *level, bool raw, const char *password) data/tea-50.0.4/quazipfile.cpp:268: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(!p->zip->open(QuaZip::mdUnzip)) { data/tea-50.0.4/quazipfile.cpp:304: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). bool QuaZipFile::open(OpenMode mode, const QuaZipNewInfo& info, data/tea-50.0.4/quazipfile.h:292: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). virtual bool open(OpenMode mode); data/tea-50.0.4/quazipfile.h:298:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inline bool open(OpenMode mode, const char *password) data/tea-50.0.4/quazipfile.h:299: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). {return open(mode, NULL, NULL, false, password);} data/tea-50.0.4/quazipfile.h:312: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, int *method, int *level, bool raw, const char *password =NULL); data/tea-50.0.4/quazipfile.h:341: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, const QuaZipNewInfo& info, data/tea-50.0.4/rvln.cpp:879: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). void rvln::open() data/tea-50.0.4/rvln.cpp:1169:53: [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 (openAct, SIGNAL(triggered()), this, SLOT(open())); data/tea-50.0.4/rvln.cpp:1237:44: [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). add_to_menu (fileMenu, tr ("Open"), SLOT(open()), "Ctrl+O", get_theme_icon_fname ("file-open.png")); data/tea-50.0.4/rvln.cpp:6339: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). if (f.open (QIODevice::ReadOnly)) data/tea-50.0.4/rvln.h:511:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). void open(); data/tea-50.0.4/single_application_shared.cpp:101:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (to, from, qMin(sharedMemory.size(), byteArray.size())); data/tea-50.0.4/tio.cpp:131:23: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (! feol_detector.open (QFile::ReadOnly)) data/tea-50.0.4/tio.cpp:163: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 (QFile::ReadOnly)) data/tea-50.0.4/tio.cpp:186: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 (QFile::WriteOnly)) data/tea-50.0.4/tzipper.cpp:39: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). if (! zip.open (QuaZip::mdCreate)) data/tea-50.0.4/tzipper.cpp:55:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (! inFile.open (QIODevice::ReadOnly)) data/tea-50.0.4/tzipper.cpp:61:22: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (! outFile.open (QIODevice::WriteOnly, QuaZipNewInfo (outfname, inFile.fileName()))) data/tea-50.0.4/tzipper.cpp:90: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). if (! zip.open (QuaZip::mdUnzip)) data/tea-50.0.4/tzipper.cpp:104: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)) data/tea-50.0.4/tzipper.cpp:123:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[4097]; data/tea-50.0.4/tzipper.cpp:154: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). if (! zip.open (QuaZip::mdCreate)) data/tea-50.0.4/tzipper.cpp:167:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (! inFile.open (QIODevice::ReadOnly)) data/tea-50.0.4/tzipper.cpp:173:22: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (! outFile.open (QIODevice::WriteOnly, QuaZipNewInfo (outfname, inFile.fileName()))) data/tea-50.0.4/tzipper.cpp:203: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). if (! zip.open (QuaZip::mdUnzip)) data/tea-50.0.4/tzipper.cpp:236: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::ReadOnly)) data/tea-50.0.4/tzipper.cpp:261: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). out.open (QIODevice::WriteOnly); data/tea-50.0.4/tzipper.cpp:262:8: [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[4096]; data/tea-50.0.4/tzipper.cpp:321: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). if (! zip.open (QuaZip::mdUnzip)) data/tea-50.0.4/unzip.c:1278: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 szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; data/tea-50.0.4/unzip.c:1492: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 source[12]; data/tea-50.0.4/utils.cpp:107: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 (QFile::WriteOnly | QFile::Text)) data/tea-50.0.4/utils.cpp:122: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 (QFile::ReadOnly | QFile::Text)) data/tea-50.0.4/utils.cpp:136: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 (QFile::ReadOnly | QFile::Text)) data/tea-50.0.4/utils.cpp:150: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 (QFile::ReadOnly)) data/tea-50.0.4/wavinfo.cpp:23: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 (! fl.open(QIODevice::ReadOnly)) data/tea-50.0.4/wavinfo.cpp:36:14: [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 riff_type[4]; data/tea-50.0.4/wavinfo.h:10:17: [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 chunk_id[4]; data/tea-50.0.4/zip.c:130:12: [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. unsigned char data[SIZEDATA_INDATABLOCK]; data/tea-50.0.4/zip.c:301:14: [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. unsigned char buf[8]; data/tea-50.0.4/zip.c:1291:18: [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. unsigned char bufHead[RAND_HEAD_LEN]; data/tea-50.0.4/zip.c:2052:7: [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(pTmp, p, dataSize + 4); data/tea-50.0.4/zip.c:2066:7: [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(pData, pNewHeader, size); data/tea-50.0.4/exif_reader.cpp:62:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data = new QByteArray (file.read (itemlen - 2)); // Read the whole section. data/tea-50.0.4/myjoystick.cpp:59:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read (fd, &js, JS_RETURN) != JS_RETURN) data/tea-50.0.4/myjoystick.cpp:87:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (read (fd, &e, sizeof(e)) > 0) data/tea-50.0.4/qioapi.cpp:153:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). qint64 ret64 = iodevice->read((char*)buf,size); data/tea-50.0.4/quaziodevice.cpp:186:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (read < maxSize) { data/tea-50.0.4/quaziodevice.cpp:189:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d->inBufSize = d->io->read(d->inBuf, QUAZIO_INBUFSIZE); data/tea-50.0.4/quaziodevice.cpp:198:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (read < maxSize && d->inBufPos < d->inBufSize) { data/tea-50.0.4/quaziodevice.cpp:201:44: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d->zins.next_out = (Bytef *) (data + read); data/tea-50.0.4/quaziodevice.cpp:202:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d->zins.avail_out = (uInt) (maxSize - read); // hope it's less than 2GB data/tea-50.0.4/quaziodevice.cpp:213:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read; data/tea-50.0.4/quaziodevice.cpp:223:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). more = d->io->read(d->inBuf + d->inBufSize, QUAZIO_INBUFSIZE - d->inBufSize); data/tea-50.0.4/quaziodevice.cpp:229:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read; data/tea-50.0.4/quaziodevice.cpp:239:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). indebug.write(data, read); data/tea-50.0.4/quaziodevice.cpp:241:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read; data/tea-50.0.4/tio.cpp:137:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray block = feol_detector.read (4096); data/tea-50.0.4/unzip.c:1261:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) data/tea-50.0.4/zip.c:988:30: [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). uInt size_filename = (uInt)strlen(filename); data/tea-50.0.4/zip.c:1138:30: [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). size_comment = (uInt)strlen(comment); data/tea-50.0.4/zip.c:1140:27: [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). size_filename = (uInt)strlen(filename); data/tea-50.0.4/zip.c:1931:33: [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). size_global_comment = (uInt)strlen(global_comment); ANALYSIS SUMMARY: Hits = 110 Lines analyzed = 32728 in approximately 0.68 seconds (48068 lines/second) Physical Source Lines of Code (SLOC) = 21287 Hits@level = [0] 1 [1] 20 [2] 80 [3] 1 [4] 9 [5] 0 Hits@level+ = [0+] 111 [1+] 110 [2+] 90 [3+] 10 [4+] 9 [5+] 0 Hits/KSLOC@level+ = [0+] 5.21445 [1+] 5.16747 [2+] 4.22793 [3+] 0.46977 [4+] 0.422793 [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.