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/oscar-1.1.1/anotDump/main.cpp Examining data/oscar-1.1.1/dumpSTR/SleepLib/common.h Examining data/oscar-1.1.1/dumpSTR/main.cpp Examining data/oscar-1.1.1/oscar/Graphs/MinutesAtPressure.cpp Examining data/oscar-1.1.1/oscar/Graphs/MinutesAtPressure.h Examining data/oscar-1.1.1/oscar/Graphs/gFlagsLine.cpp Examining data/oscar-1.1.1/oscar/Graphs/gFlagsLine.h Examining data/oscar-1.1.1/oscar/Graphs/gFooBar.cpp Examining data/oscar-1.1.1/oscar/Graphs/gFooBar.h Examining data/oscar-1.1.1/oscar/Graphs/gGraph.cpp Examining data/oscar-1.1.1/oscar/Graphs/gGraph.h Examining data/oscar-1.1.1/oscar/Graphs/gGraphView.cpp Examining data/oscar-1.1.1/oscar/Graphs/gGraphView.h Examining data/oscar-1.1.1/oscar/Graphs/gLineChart.cpp Examining data/oscar-1.1.1/oscar/Graphs/gLineChart.h Examining data/oscar-1.1.1/oscar/Graphs/gLineOverlay.cpp Examining data/oscar-1.1.1/oscar/Graphs/gLineOverlay.h Examining data/oscar-1.1.1/oscar/Graphs/gPressureChart.cpp Examining data/oscar-1.1.1/oscar/Graphs/gPressureChart.h Examining data/oscar-1.1.1/oscar/Graphs/gSegmentChart.cpp Examining data/oscar-1.1.1/oscar/Graphs/gSegmentChart.h Examining data/oscar-1.1.1/oscar/Graphs/gSessionTimesChart.cpp Examining data/oscar-1.1.1/oscar/Graphs/gSessionTimesChart.h Examining data/oscar-1.1.1/oscar/Graphs/gStatsLine.cpp Examining data/oscar-1.1.1/oscar/Graphs/gStatsLine.h Examining data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp Examining data/oscar-1.1.1/oscar/Graphs/gSummaryChart.h Examining data/oscar-1.1.1/oscar/Graphs/gXAxis.cpp Examining data/oscar-1.1.1/oscar/Graphs/gXAxis.h Examining data/oscar-1.1.1/oscar/Graphs/gYAxis.cpp Examining data/oscar-1.1.1/oscar/Graphs/gYAxis.h Examining data/oscar-1.1.1/oscar/Graphs/gdailysummary.cpp Examining data/oscar-1.1.1/oscar/Graphs/gdailysummary.h Examining data/oscar-1.1.1/oscar/Graphs/glcommon.cpp Examining data/oscar-1.1.1/oscar/Graphs/glcommon.h Examining data/oscar-1.1.1/oscar/Graphs/graphdata.h Examining data/oscar-1.1.1/oscar/Graphs/graphdata_custom.h Examining data/oscar-1.1.1/oscar/Graphs/gspacer.cpp Examining data/oscar-1.1.1/oscar/Graphs/gspacer.h Examining data/oscar-1.1.1/oscar/Graphs/layer.cpp Examining data/oscar-1.1.1/oscar/Graphs/layer.h Examining data/oscar-1.1.1/oscar/SleepLib/appsettings.cpp Examining data/oscar-1.1.1/oscar/SleepLib/appsettings.h Examining data/oscar-1.1.1/oscar/SleepLib/calcs.cpp Examining data/oscar-1.1.1/oscar/SleepLib/calcs.h Examining data/oscar-1.1.1/oscar/SleepLib/common.h Examining data/oscar-1.1.1/oscar/SleepLib/day.cpp Examining data/oscar-1.1.1/oscar/SleepLib/day.h Examining data/oscar-1.1.1/oscar/SleepLib/event.cpp Examining data/oscar-1.1.1/oscar/SleepLib/event.h Examining data/oscar-1.1.1/oscar/SleepLib/journal.cpp Examining data/oscar-1.1.1/oscar/SleepLib/journal.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/dreem_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/dreem_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/md300w1_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/md300w1_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/mseries_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/mseries_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_EDFinfo.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_EDFinfo.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/somnopose_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/somnopose_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/viatom_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/viatom_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/zeo_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/loader_plugins/zeo_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/machine.cpp Examining data/oscar-1.1.1/oscar/SleepLib/machine.h Examining data/oscar-1.1.1/oscar/SleepLib/machine_common.cpp Examining data/oscar-1.1.1/oscar/SleepLib/machine_common.h Examining data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp Examining data/oscar-1.1.1/oscar/SleepLib/machine_loader.h Examining data/oscar-1.1.1/oscar/SleepLib/preferences.cpp Examining data/oscar-1.1.1/oscar/SleepLib/preferences.h Examining data/oscar-1.1.1/oscar/SleepLib/profiles.cpp Examining data/oscar-1.1.1/oscar/SleepLib/profiles.h Examining data/oscar-1.1.1/oscar/SleepLib/progressdialog.cpp Examining data/oscar-1.1.1/oscar/SleepLib/progressdialog.h Examining data/oscar-1.1.1/oscar/SleepLib/schema.cpp Examining data/oscar-1.1.1/oscar/SleepLib/schema.h Examining data/oscar-1.1.1/oscar/SleepLib/serialoximeter.cpp Examining data/oscar-1.1.1/oscar/SleepLib/serialoximeter.h Examining data/oscar-1.1.1/oscar/SleepLib/session.cpp Examining data/oscar-1.1.1/oscar/SleepLib/session.h Examining data/oscar-1.1.1/oscar/SleepLib/common.cpp Examining data/oscar-1.1.1/oscar/UpdaterWindow.cpp Examining data/oscar-1.1.1/oscar/UpdaterWindow.h Examining data/oscar-1.1.1/oscar/aboutdialog.cpp Examining data/oscar-1.1.1/oscar/aboutdialog.h Examining data/oscar-1.1.1/oscar/common_gui.cpp Examining data/oscar-1.1.1/oscar/common_gui.h Examining data/oscar-1.1.1/oscar/cprogressbar.cpp Examining data/oscar-1.1.1/oscar/cprogressbar.h Examining data/oscar-1.1.1/oscar/csv.cpp Examining data/oscar-1.1.1/oscar/csv.h Examining data/oscar-1.1.1/oscar/daily.cpp Examining data/oscar-1.1.1/oscar/daily.h Examining data/oscar-1.1.1/oscar/exportcsv.cpp Examining data/oscar-1.1.1/oscar/exportcsv.h Examining data/oscar-1.1.1/oscar/help.cpp Examining data/oscar-1.1.1/oscar/help.h Examining data/oscar-1.1.1/oscar/logger.cpp Examining data/oscar-1.1.1/oscar/logger.h Examining data/oscar-1.1.1/oscar/mainwindow.cpp Examining data/oscar-1.1.1/oscar/mainwindow.h Examining data/oscar-1.1.1/oscar/miniz.c Examining data/oscar-1.1.1/oscar/miniz.h Examining data/oscar-1.1.1/oscar/mytextbrowser.h Examining data/oscar-1.1.1/oscar/newprofile.cpp Examining data/oscar-1.1.1/oscar/newprofile.h Examining data/oscar-1.1.1/oscar/overview.cpp Examining data/oscar-1.1.1/oscar/overview.h Examining data/oscar-1.1.1/oscar/oximeterimport.cpp Examining data/oscar-1.1.1/oscar/oximeterimport.h Examining data/oscar-1.1.1/oscar/pch.h Examining data/oscar-1.1.1/oscar/preferencesdialog.cpp Examining data/oscar-1.1.1/oscar/preferencesdialog.h Examining data/oscar-1.1.1/oscar/profileselect.cpp Examining data/oscar-1.1.1/oscar/profileselect.h Examining data/oscar-1.1.1/oscar/profileselector.cpp Examining data/oscar-1.1.1/oscar/profileselector.h Examining data/oscar-1.1.1/oscar/reports.cpp Examining data/oscar-1.1.1/oscar/reports.h Examining data/oscar-1.1.1/oscar/sessionbar.cpp Examining data/oscar-1.1.1/oscar/sessionbar.h Examining data/oscar-1.1.1/oscar/statistics.cpp Examining data/oscar-1.1.1/oscar/statistics.h Examining data/oscar-1.1.1/oscar/tests/AutoTest.h Examining data/oscar-1.1.1/oscar/tests/dreemtests.cpp Examining data/oscar-1.1.1/oscar/tests/dreemtests.h Examining data/oscar-1.1.1/oscar/tests/prs1tests.cpp Examining data/oscar-1.1.1/oscar/tests/prs1tests.h Examining data/oscar-1.1.1/oscar/tests/resmedtests.cpp Examining data/oscar-1.1.1/oscar/tests/resmedtests.h Examining data/oscar-1.1.1/oscar/tests/sessiontests.cpp Examining data/oscar-1.1.1/oscar/tests/sessiontests.h Examining data/oscar-1.1.1/oscar/tests/versiontests.cpp Examining data/oscar-1.1.1/oscar/tests/versiontests.h Examining data/oscar-1.1.1/oscar/tests/viatomtests.cpp Examining data/oscar-1.1.1/oscar/tests/viatomtests.h Examining data/oscar-1.1.1/oscar/tests/zeotests.cpp Examining data/oscar-1.1.1/oscar/tests/zeotests.h Examining data/oscar-1.1.1/oscar/translation.cpp Examining data/oscar-1.1.1/oscar/translation.h Examining data/oscar-1.1.1/oscar/updateparser.cpp Examining data/oscar-1.1.1/oscar/updateparser.h Examining data/oscar-1.1.1/oscar/welcome.cpp Examining data/oscar-1.1.1/oscar/welcome.h Examining data/oscar-1.1.1/oscar/zip.cpp Examining data/oscar-1.1.1/oscar/zip.h Examining data/oscar-1.1.1/oscar/main.cpp Examining data/oscar-1.1.1/oscar/version.cpp Examining data/oscar-1.1.1/oscar/version.h FINAL RESULTS: data/oscar-1.1.1/oscar/Graphs/gGraph.cpp:796:32: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. m_selDurString.sprintf("%02i:%02i:%02i:%03i", h, m, s, ms); data/oscar-1.1.1/oscar/Graphs/gLineChart.cpp:420:27: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString a = QString().sprintf("%.2f - %.2f",miny, maxy); data/oscar-1.1.1/oscar/Graphs/gLineOverlay.cpp:370:55: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QObject::tr("Duration") + " " + QString().sprintf("%02i:%02i:%02i", h, m, s) + ", " + data/oscar-1.1.1/oscar/Graphs/gSessionTimesChart.cpp:1140:118: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. slices.append(SummaryChartSlice(&calcitems[0], ttia / 60.0, ttia / 60.0, QObject::tr("\nTTIA: %1").arg(QString().sprintf("%02i:%02i:%02i",h,m,s)), QColor(255,147,150))); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:948:17: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. val.sprintf("%02i:%02i", h, m); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:1039:26: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. return QString().sprintf("%i:%02i:%02i%s", h, m, s, pm); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:1041:26: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. return QString().sprintf("%i:%02i%s", h, m, pm); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:1110:25: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. val.sprintf("%02i:%02i", h, m); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:1136:25: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. val.sprintf("%02i:%02i", h, m); data/oscar-1.1.1/oscar/Graphs/gYAxis.cpp:347:36: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. if (dp > 2) { return QString().sprintf("%02i:%02i:%02i%s", h, m, s, pm); } data/oscar-1.1.1/oscar/Graphs/gYAxis.cpp:349:22: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. return QString().sprintf("%i:%02i%s", h, m, pm); data/oscar-1.1.1/oscar/SleepLib/common.cpp:47:34: [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. QLocale sysLocale = QLocale::system(); data/oscar-1.1.1/oscar/SleepLib/common.cpp:253:21: [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. return QLocale::system().firstDayOfWeek(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:449:30: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. year = QString().sprintf("%02i%02i",buffer.at(idx+4), buffer.at(idx+5)).toInt(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:450:31: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. month = QString().sprintf("%02i", buffer.at(idx+6)).toInt(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:451:29: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. day = QString().sprintf("%02i", buffer.at(idx+7)).toInt(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:504:32: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. tmpstr = QString().sprintf("%02i:%02i:%02i",buffer.at(idx+4), buffer.at(idx+5), buffer.at(idx+6)); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:641:23: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. out += QString().sprintf("%02X ",cmd[i]); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:657:23: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. out += QString().sprintf("%02X ",cmd[i]); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:674:23: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. out += QString().sprintf("%02X ",cmd[i]); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:712:23: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. out += QString().sprintf("%02X ",cmd[i]); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/md300w1_loader.cpp:196:37: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString datestr = QString().sprintf("%02d/%02d/%02d %02d:%02d:%02d", data/oscar-1.1.1/oscar/SleepLib/loader_plugins/mseries_loader.cpp:391:28: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. a += QString().sprintf("%02X ", cb[i]); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:155:30: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. int year = QString().sprintf("%02i%02i", p[0], p[1]).toInt(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:209:30: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. int year = QString().sprintf("%02i%02i", p[0], p[1]).toInt(); data/oscar-1.1.1/oscar/SleepLib/machine.h:162:40: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString hexid() { return QString().sprintf("%08lx", m_id); } data/oscar-1.1.1/oscar/SleepLib/session.cpp:104:49: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. return s_machine->getEventsPath()+QString().sprintf("%08lx.001", s_session); data/oscar-1.1.1/oscar/SleepLib/session.cpp:137:10: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. base.sprintf("%08lx", s_session); data/oscar-1.1.1/oscar/SleepLib/session.cpp:311:66: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString filename = s_machine->getSummariesPath() + QString().sprintf("%08lx.000", s_session); data/oscar-1.1.1/oscar/SleepLib/session.cpp:387:66: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString filename = s_machine->getSummariesPath() + QString().sprintf("%08lx.000", s_session); data/oscar-1.1.1/oscar/SleepLib/session.cpp:668:39: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString filename = path+QString().sprintf("%08lx.001", s_session); data/oscar-1.1.1/oscar/daily.cpp:1371:101: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. QString("</b></td><td colspan=2 bgcolor='white'>%1</td></tr>").arg(QString().sprintf("%02i:%02i:%02i",h,m,s)); data/oscar-1.1.1/oscar/daily.cpp:1443:28: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. .arg(QString().sprintf("%02i:%02i:%02i",h,m,s)); data/oscar-1.1.1/oscar/exportcsv.cpp:33:31: [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. QLocale locale = QLocale::system(); data/oscar-1.1.1/oscar/exportcsv.cpp:252:41: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. data += sep + QString().sprintf("%02i:%02i:%02i", h, m, s); data/oscar-1.1.1/oscar/exportcsv.cpp:297:45: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. data += sep + QString().sprintf("%02i:%02i:%02i", h, m, s); data/oscar-1.1.1/oscar/newprofile.cpp:36:31: [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. QLocale locale = QLocale::system(); data/oscar-1.1.1/oscar/overview.cpp:41:31: [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. QLocale locale = QLocale::system(); data/oscar-1.1.1/oscar/oximeterimport.cpp:298:52: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. item = new QTableWidgetItem(QString(). sprintf("%02i:%02i:%02i", h,m,s)); data/oscar-1.1.1/oscar/oximeterimport.cpp:738:49: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. ui->pulseDisplay->display(QString().sprintf("%3i", pulse)); data/oscar-1.1.1/oscar/oximeterimport.cpp:743:48: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. ui->spo2Display->display(QString().sprintf("%2i", spo2)); data/oscar-1.1.1/oscar/oximeterimport.cpp:748:44: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. ui->lcdDuration->display(QString().sprintf("%02i:%02i:%02i",hours, minutes, seconds)); data/oscar-1.1.1/oscar/oximeterimport.cpp:1087:48: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. item = new QTableWidgetItem(QString(). sprintf("%02i:%02i:%02i", h,m,s)); data/oscar-1.1.1/oscar/preferencesdialog.cpp:108:31: [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. QLocale locale = QLocale::system(); data/oscar-1.1.1/oscar/statistics.cpp:51:22: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. return QString().sprintf("%02i:%02i", hours, minutes); //,seconds); data/oscar-1.1.1/oscar/SleepLib/machine.cpp:97: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(time(nullptr)); data/oscar-1.1.1/oscar/SleepLib/preferences.cpp:33:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. userName = getenv("USER"); data/oscar-1.1.1/oscar/mainwindow.cpp:343:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *desktop = getenv("DESKTOP_SESSION"); data/oscar-1.1.1/oscar/Graphs/gGraphView.cpp:3427:7: [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). f.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/Graphs/gGraphView.cpp:3486:7: [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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/Graphs/gSummaryChart.cpp:1026: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 pm[3] = {"am"}; data/oscar-1.1.1/oscar/Graphs/gYAxis.cpp:335: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 pm[3] = {"pm"}; data/oscar-1.1.1/oscar/SleepLib/calcs.cpp:250:13: [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(in, out, samples * sizeof(EventDataType)); data/oscar-1.1.1/oscar/SleepLib/calcs.cpp:1201:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/calcs.cpp:1228:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/SleepLib/event.cpp:179: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(dp, sp, recs*2); data/oscar-1.1.1/oscar/SleepLib/journal.cpp:303: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/oscar-1.1.1/oscar/SleepLib/journal.cpp:379: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/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.cpp:422: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. static unsigned char b1[3]={0xf6,0xf6,0xf6}; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.cpp:433: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. static unsigned char b1[2]={0xf5,0xf5}; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.cpp:550:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50_loader.cpp:584: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 dchr[20]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:79: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). if (!serial.open(QSerialPort::ReadWrite)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:882:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/cms50f37_loader.cpp:916: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 dchr[20]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/dreem_loader.cpp:82: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(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp:68: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 (!fi.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp:293: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 (!fi.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:34: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 version[8]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:35: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 patientident[80]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:36: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 recordingident[80]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:37: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 datetime[16]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:38: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 num_header_bytes[8]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:39: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 reserved[44]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:40: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 num_data_records[8]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:41: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 dur_data_records[8]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.h:42: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 num_signals[4]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:438:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:571: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. tmp = ((char *)p)[1] << 8 | p[0]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:628:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:780:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:100:7: [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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:266: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[27]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:278:7: [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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:306:7: [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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:645: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 serial[11]; // null terminated data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:656: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 unknown_01[3]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:662: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 unknown_03[9]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:664: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 unused[83]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:686:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:705:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:777:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:855:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:947:30: [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 d[2]; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:1301:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:1407:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/md300w1_loader.cpp:169:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/mseries_loader.cpp:122:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:185:25: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char wch[4] = { 0, 0, 0, 0 }; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:562:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8350:40: [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. flow->AddWaveform(ti, (char *)data[0].data(), data[0].size(), dur); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8360:49: [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. pres->AddWaveform(ti, (unsigned char *)data[1].data(), data[1].size(), dur); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8550:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:232: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). if (!f.exists() || !f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1490: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). if (!f.exists() || !f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1696: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(QFile::ReadOnly)) data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1731: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 datebytes[17] = {0}; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1742: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 cbytes[9] = {0}; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/somnopose_loader.cpp:57: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(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/viatom_loader.cpp:112:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:99:23: [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. Y[0] = ((unsigned char *)data)[0] ; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:105:30: [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. float x = ((unsigned char *)data)[i] ; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:106:31: [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. float x1 = ((unsigned char *)data)[i-1] ; data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:122: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). if (!wmdata.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/zeo_loader.cpp:114: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(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/machine.cpp:144:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/SleepLib/machine.cpp:189:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/machine.cpp:892: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/oscar-1.1.1/oscar/SleepLib/machine.cpp:1107: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). file.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:236: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 (!fi.open(QFile::ReadOnly) || !fi.seek(fi.size() - 4)) { data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:240: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 ch[4]; data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:257: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 (out.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:288:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/preferences.cpp:42:13: [2] (buffer) TCHAR: 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. TCHAR winUserName[UNLEN + 1]; // UNLEN is defined in LMCONS.H data/oscar-1.1.1/oscar/SleepLib/preferences.cpp:49: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 winUserName[UNLEN + 1]; // UNLEN is defined in LMCONS.H data/oscar-1.1.1/oscar/SleepLib/preferences.cpp:179: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/oscar-1.1.1/oscar/SleepLib/preferences.cpp:318: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). file.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/preferences.cpp:361: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/oscar-1.1.1/oscar/SleepLib/profiles.cpp:39:37: [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). Profile::Profile(QString path, bool open) data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:61: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 (open) { data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:85: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 (open) { data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:138: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). file.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:155:14: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). lockfile.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:171:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:320:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:1071: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). file.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:1989:7: [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). f.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/profiles.cpp:2029:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/schema.cpp:448: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/oscar-1.1.1/oscar/SleepLib/schema.cpp:717: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/oscar-1.1.1/oscar/SleepLib/serialoximeter.cpp:94: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). if (!serial.open(QSerialPort::ReadWrite)) data/oscar-1.1.1/oscar/SleepLib/session.cpp:314: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/oscar-1.1.1/oscar/SleepLib/session.cpp:318: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/oscar-1.1.1/oscar/SleepLib/session.cpp:396: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/oscar-1.1.1/oscar/SleepLib/session.cpp:671: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). file.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/SleepLib/session.cpp:813: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/oscar-1.1.1/oscar/UpdaterWindow.cpp:116: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). file.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/UpdaterWindow.cpp:181: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). file.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/UpdaterWindow.cpp:184: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). file.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/aboutdialog.cpp:84:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (clfile.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/aboutdialog.cpp:97:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (clfile.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/aboutdialog.cpp:109:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (clfile.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/aboutdialog.cpp:142: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/oscar-1.1.1/oscar/daily.cpp:1464: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). buffer.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/daily.cpp:1774: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/oscar-1.1.1/oscar/exportcsv.cpp:148: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). file.open(QFile::WriteOnly); data/oscar-1.1.1/oscar/main.cpp:116: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). fl.open(QIODevice::ReadOnly); data/oscar-1.1.1/oscar/main.cpp:117: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). tmp.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/main.cpp:141: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). fl.open(QIODevice::ReadOnly); data/oscar-1.1.1/oscar/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). tmp.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/mainwindow.cpp:473: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). progress->open(); data/oscar-1.1.1/oscar/mainwindow.cpp:700: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). progdlg->open(); data/oscar-1.1.1/oscar/mainwindow.cpp:820: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 strings[4096]; data/oscar-1.1.1/oscar/mainwindow.cpp:1895: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). if (impfile.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/mainwindow.cpp:1919: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). if (impfile.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/mainwindow.cpp:2257: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). progress.open(); data/oscar-1.1.1/oscar/mainwindow.cpp:2288: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). progress.open(); data/oscar-1.1.1/oscar/mainwindow.cpp:2848: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). prog->open(); data/oscar-1.1.1/oscar/mainwindow.cpp:2861: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). ok = debugLog.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/miniz.c:29: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. typedef unsigned char mz_validate_uint16[sizeof(mz_uint16) == 2 ? 1 : -1]; data/oscar-1.1.1/oscar/miniz.c:30: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. typedef unsigned char mz_validate_uint32[sizeof(mz_uint32) == 4 ? 1 : -1]; data/oscar-1.1.1/oscar/miniz.c:31: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. typedef unsigned char mz_validate_uint64[sizeof(mz_uint64) == 8 ? 1 : -1]; data/oscar-1.1.1/oscar/miniz.c:486: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(pStream->next_out, pState->m_dict + pState->m_dict_ofs, n); data/oscar-1.1.1/oscar/miniz.c:511: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(pStream->next_out, pState->m_dict + pState->m_dict_ofs, n); data/oscar-1.1.1/oscar/miniz.c:987:5: [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(code_sizes_to_pack, &d->m_huff_code_sizes[0][0], num_lit_codes); data/oscar-1.1.1/oscar/miniz.c:988:5: [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(code_sizes_to_pack + num_lit_codes, &d->m_huff_code_sizes[1][0], num_dist_codes); data/oscar-1.1.1/oscar/miniz.c:1350:13: [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((mz_uint8 *)d->m_pOut_buf + d->m_out_buf_ofs, d->m_output_buf, bytes_to_copy); data/oscar-1.1.1/oscar/miniz.c:1372:2: [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(&ret, p, sizeof(mz_uint16)); data/oscar-1.1.1/oscar/miniz.c:1378:2: [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(&ret, p, sizeof(mz_uint16)); data/oscar-1.1.1/oscar/miniz.c:1488:2: [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(&ret, p, sizeof(mz_uint32)); data/oscar-1.1.1/oscar/miniz.c:1512:13: [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(d->m_dict + dst_pos, d->m_pSrc, n); data/oscar-1.1.1/oscar/miniz.c:1514:17: [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(d->m_dict + TDEFL_LZ_DICT_SIZE + dst_pos, d->m_pSrc, MZ_MIN(n, (TDEFL_MAX_MATCH_LEN - 1) - dst_pos)); data/oscar-1.1.1/oscar/miniz.c:1564:6: [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(&pLZ_code_buf[1], &cur_match_dist, sizeof(cur_match_dist)); data/oscar-1.1.1/oscar/miniz.c:1866: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((mz_uint8 *)d->m_pOut_buf + d->m_out_buf_ofs, d->m_output_buf + d->m_output_flush_ofs, n); data/oscar-1.1.1/oscar/miniz.c:2038:5: [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((mz_uint8 *)p->m_pBuf + p->m_size, pBuf, len); data/oscar-1.1.1/oscar/miniz.c:2162: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(out_buf.m_pBuf, pnghdr, 41); data/oscar-1.1.1/oscar/miniz.c:2242:31: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define TINFL_MEMCPY(d, s, l) memcpy(d, s, l) data/oscar-1.1.1/oscar/miniz.c:2734: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(pOut_buf_cur, pSrc, sizeof(mz_uint32)*2); data/oscar-1.1.1/oscar/miniz.c:3021:24: [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 MZ_FOPEN(f, m) fopen(f, m) data/oscar-1.1.1/oscar/miniz.c:3036:24: [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 MZ_FOPEN(f, m) fopen(f, m) data/oscar-1.1.1/oscar/miniz.c:3066:24: [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 MZ_FOPEN(f, m) fopen(f, m) data/oscar-1.1.1/oscar/miniz.c:3083:24: [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 MZ_FOPEN(f, m) fopen(f, m) data/oscar-1.1.1/oscar/miniz.c:3302: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((mz_uint8 *)pArray->m_p + orig_size * pArray->m_element_size, pElements, n * pArray->m_element_size); data/oscar-1.1.1/oscar/miniz.c:3873:5: [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(pBuf, (const mz_uint8 *)pZip->m_pState->m_pMem + file_ofs, s); data/oscar-1.1.1/oscar/miniz.c:4146:5: [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(pStat->m_filename, p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE, n); data/oscar-1.1.1/oscar/miniz.c:4152:5: [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(pStat->m_comment, p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS) + MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS), n); data/oscar-1.1.1/oscar/miniz.c:4956:13: [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( pvBuf, pState->pRead_buf, copied_to_caller ); data/oscar-1.1.1/oscar/miniz.c:5028:17: [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( (uint8_t*)pvBuf + copied_to_caller, pWrite_buf_cur, to_copy ); data/oscar-1.1.1/oscar/miniz.c:5581:5: [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((mz_uint8 *)pState->m_pMem + file_ofs, pBuf, n); data/oscar-1.1.1/oscar/miniz.c:5768: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 buf[4096]; data/oscar-1.1.1/oscar/miniz.c:6067: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[4096]; data/oscar-1.1.1/oscar/miniz.c:7077:5: [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(new_central_header, pSrc_central_header, MZ_ZIP_CENTRAL_DIR_HEADER_SIZE); data/oscar-1.1.1/oscar/miniz.c:7627: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(pFilename, p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE, n); data/oscar-1.1.1/oscar/miniz.h:971: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 m_filename[MZ_ZIP_MAX_ARCHIVE_FILENAME_SIZE]; data/oscar-1.1.1/oscar/miniz.h:975: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 m_comment[MZ_ZIP_MAX_ARCHIVE_FILE_COMMENT_SIZE]; data/oscar-1.1.1/oscar/newprofile.cpp:59: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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/newprofile.cpp:78: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). f.open(QFile::ReadOnly); data/oscar-1.1.1/oscar/newprofile.cpp:453:7: [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). f.open(QIODevice::ReadOnly); data/oscar-1.1.1/oscar/reports.cpp:102: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). progress.open(); data/oscar-1.1.1/oscar/statistics.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). buffer.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/statistics.cpp:120:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::ReadOnly)) { data/oscar-1.1.1/oscar/statistics.cpp:145:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::WriteOnly)) { data/oscar-1.1.1/oscar/statistics.cpp:598: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 perCentStr[20]; data/oscar-1.1.1/oscar/tests/prs1tests.cpp:312: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 (!file.open(QFile::WriteOnly | (written.contains(outpath) ? QFile::Append : QFile::Truncate))) { data/oscar-1.1.1/oscar/tests/sessiontests.cpp:240:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QFile::WriteOnly | QFile::Truncate)) { data/oscar-1.1.1/oscar/zip.cpp:40: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 ok = m_file.open(QIODevice::WriteOnly); data/oscar-1.1.1/oscar/zip.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). progress->open(); data/oscar-1.1.1/oscar/zip.cpp:144:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!f.open(QIODevice::ReadOnly)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp:301:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fileData = gUncompress(fi.read(sizeof(EDFHeaderRaw))); // Open and decompress file data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp:303:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fileData = fi.read(sizeof(EDFHeaderRaw)); // Open and read uncompressed file data/oscar-1.1.1/oscar/SleepLib/loader_plugins/edfparser.cpp:306:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fileData = fi.read(sizeof(EDFHeaderRaw)); // Open and read uncompressed file data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:443:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray header = file.read(0x200); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:468:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray buf = file.read(4); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:633:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). header = file.read(0x200); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:785:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). header = file.read(0x200); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/icon_loader.cpp:811:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray index = file.read(0x800); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:284:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). cnt = f.read((char *)buf, 9); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:311:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (size != f.read((char *)m_buffer, size)) { data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:857:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). dataBA = f.read(DV6_R_HeaderSize); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/intellipap_loader.cpp:890:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). dataBA=f.read(DV6_R_RecLength); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8657:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). this->m_header = f.read(15); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8719:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray checksum = f.read(1); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8761:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray extra = f.read(1); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8772:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). headerB2 = f.read(hdb_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8802:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray extra = f.read(4); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8820:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). extra = f.read(sbsize); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/prs1_loader.cpp:8870:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). this->m_data = f.read(data_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1704:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray bytes = file.read(16).trimmed(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1715:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bytes = file.read(8).trimmed(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/resmed_loader.cpp:1717:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bytes = file.read(8).trimmed(); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/viatom_loader.cpp:258:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray data = m_file.read(HEADER_SIZE); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:151:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read((char *)weekco, size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:194:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read((char *)comp, comp_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:272:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read((char *)data, flowsize); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:291:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read(st, st_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:306:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read(pres, pr_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:320:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read(mv, mv_size); data/oscar-1.1.1/oscar/SleepLib/loader_plugins/weinmann_loader.cpp:334:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wmdata.read((char *) ev, ev_size); data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:241:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fi.read((char *)ch, 4); data/oscar-1.1.1/oscar/SleepLib/machine_loader.cpp:295:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!f.read(buf, size)) { data/oscar-1.1.1/oscar/SleepLib/serialoximeter.cpp:123:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int bytesread = serial.read(bytes.data(), available); data/oscar-1.1.1/oscar/SleepLib/session.cpp:818:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray headerbytes = file.read(42); data/oscar-1.1.1/oscar/UpdaterWindow.cpp:328:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (updatesparser.read(dev)) { data/oscar-1.1.1/oscar/miniz.c:4270:43: [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). const mz_uint filename_len = (mz_uint)strlen(pFilename); data/oscar-1.1.1/oscar/miniz.c:4332:16: [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). name_len = strlen(pName); data/oscar-1.1.1/oscar/miniz.c:4336: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). comment_len = pComment ? strlen(pComment) : 0; data/oscar-1.1.1/oscar/miniz.c:5242:38: [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 (local_header_filename_len != strlen(file_stat.m_filename)) data/oscar-1.1.1/oscar/miniz.c:6170:25: [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). archive_name_size = strlen(pArchive_name); data/oscar-1.1.1/oscar/miniz.c:6429:25: [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). archive_name_size = strlen(pArchive_name); data/oscar-1.1.1/oscar/updateparser.cpp:228:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool UpdatesParser::read(QIODevice *device) data/oscar-1.1.1/oscar/updateparser.h:118:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(QIODevice *device); data/oscar-1.1.1/oscar/welcome.cpp:222:24: [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. comp = equal; data/oscar-1.1.1/oscar/welcome.cpp:295:24: [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. comp = equal; ANALYSIS SUMMARY: Hits = 263 Lines analyzed = 86070 in approximately 2.00 seconds (43125 lines/second) Physical Source Lines of Code (SLOC) = 58792 Hits@level = [0] 12 [1] 45 [2] 170 [3] 3 [4] 45 [5] 0 Hits@level+ = [0+] 275 [1+] 263 [2+] 218 [3+] 48 [4+] 45 [5+] 0 Hits/KSLOC@level+ = [0+] 4.67751 [1+] 4.4734 [2+] 3.70799 [3+] 0.816438 [4+] 0.76541 [5+] 0 Symlinks skipped = 2 (--allowlink overrides but see doc for security issue) 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.