Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
This report summarizes scanner evidence for mavlink/qgroundcontrol, a C++ project with 5,017 GitHub stars. SynthScan examined 557,463 lines of code across 2672 source files, recording 2875 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 7.8 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1827 finding(s).
Are imports declared and package/API names verified? 363 finding(s).
Are wrappers, guards, and repeated structures necessary? 1968 finding(s).
Which changes need focused human review? 2875 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2875 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | CMakeLists.txt | 1 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 3 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 7 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 9 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 23 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 25 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 34 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 36 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 40 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 42 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 86 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 88 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 90 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 92 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 111 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 113 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 116 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 118 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 123 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 125 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 134 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 136 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 166 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 168 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 171 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 173 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 178 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 180 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 189 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 191 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 397 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 399 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 406 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 408 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 518 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 520 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 529 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 531 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 554 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 556 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 560 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 562 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 147 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 149 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 212 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 214 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 235 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 237 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 293 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 295 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 318 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 320 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 364 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 366 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 419 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 421 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 432 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 434 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 494 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 496 | # ---------------------------------------------------------------------------- | COMMENT |
| 501 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pre_commit.py | 46 | def ensure_precommit_available() -> bool: | CODE |
| LOW | tools/check_deps.py | 146 | def parse_gstreamer_package_versions(index_html: str) -> set[tuple[int, int, int]]: | CODE |
| LOW | tools/check_deps.py | 154 | def latest_common_gstreamer_patch( | CODE |
| LOW | tools/check_deps.py | 180 | def fetch_gstreamer_package_index(url: str) -> str | None: | CODE |
| LOW | tools/check_deps.py | 216 | def fetch_latest_common_gstreamer_patch(configured_version: str) -> str | None: | CODE |
| LOW | tools/qgc_tools/workflow_runs.py | 75 | def add_workflow_run_query_args( | CODE |
| LOW | tools/qgc_tools/workflow_runs.py | 177 | def select_latest_runs_by_name( | CODE |
| LOW | tools/setup/install_qt.py | 71 | def resolve_windows_host_arch(arch: str) -> str: | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 386 | def _get_categorized_packages( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 121 | def run_apt_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 156 | def run_dnf_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 174 | def run_pacman_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 239 | def check_apt_package_available(package: str) -> bool: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 254 | def get_available_debian_packages(category: str) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 39 | def resolve_package_alternatives(packages: list[str]) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 107 | def install_windows_gstreamer(version: str, dry_run: bool = False) -> bool: | CODE |
| LOW | tools/tests/test_mavlink_enums.py | 57 | def test_qml_declares_enums_before_registering_them(dialect_dir): | CODE |
| LOW | tools/tests/test_mavlink_enums.py | 75 | def test_first_dialect_wins_in_both_headers(dialect_dir, capsys): | CODE |
| LOW | tools/tests/test_mavlink_enums.py | 94 | def test_unterminated_enum_is_rejected(tmp_path): | CODE |
| LOW | tools/tests/test_mavlink_enums.py | 106 | def test_main_generates_headers_without_rewriting_unchanged_files( | CODE |
| LOW | tools/tests/test_tool_version.py | 13 | def test_probe_version_three_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 24 | def test_probe_version_two_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 32 | def test_probe_version_uses_stderr_when_stdout_empty() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 40 | def test_probe_version_missing_tool() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 45 | def test_probe_version_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 53 | def test_probe_version_unparseable() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 61 | def test_probe_version_custom_pattern() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 70 | def test_probe_version_custom_args() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 82 | def test_version_prefix_matches_shared_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 92 | def test_probe_timeout_is_unavailable() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 102 | def test_lock_version_parses_toml_order_and_rejects_ambiguity(tmp_path) -> None: | CODE |
| LOW | tools/tests/test_proc.py | 18 | def test_run_captured_returns_completed_process() -> None: | CODE |
| LOW | tools/tests/test_proc.py | 31 | def test_run_captured_check_raises() -> None: | CODE |
| LOW | tools/tests/test_proc.py | 36 | def test_run_captured_failing_command_does_not_raise_by_default() -> None: | CODE |
| LOW | tools/tests/test_proc.py | 49 | def test_run_with_retry_uses_linear_backoff_and_cleanup_callback() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 79 | def test_run_with_retry_rejects_invalid_limits(kwargs: dict, message: str) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 84 | def test_run_with_retry_rejects_empty_command() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 89 | def test_run_with_retry_exhausts_attempts_and_preserves_check() -> None: | CODE |
| LOW | tools/tests/test_proc.py | 103 | def test_run_with_retry_retries_timeout() -> None: | CODE |
| LOW | tools/tests/test_proc.py | 116 | def test_run_with_retry_supports_unchecked_result_filter() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 134 | def test_run_text_returns_stdout() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 138 | def test_run_text_default_on_missing_binary() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 142 | def test_run_text_default_on_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 146 | def test_run_tee_streams_output_and_returns_exit_code(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 152 | def test_run_tee_falls_back_without_bash(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 159 | def test_run_tee_resolves_relative_output_before_changing_cwd( | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 24 | def test_detect_jobs_with_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 28 | def test_detect_jobs_without_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 33 | def test_detect_jobs_fallback_when_cpu_count_none() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 53 | def test_build_config_defaults(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 61 | def test_build_config_custom_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 67 | def test_build_config_archive_name() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 72 | def test_build_config_archive_name_simulator() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 77 | def test_get_meson_args_contains_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 86 | def test_get_meson_args_macos_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 94 | def test_get_meson_args_macos_universal_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 102 | def test_get_meson_args_linux_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 109 | def test_get_meson_args_includes_plugins(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_analysis_dependencies.py | 13 | def test_header_scan_tracks_transitive_macro_includes_and_updates(tmp_path, monkeypatch): | CODE |
| LOW | tools/tests/test_analysis_dependencies.py | 45 | def test_incomplete_dependency_scan_requires_full_analysis(tmp_path, output): | CODE |
| 1219 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/coding-style/CodingStyle.h | 1 | // This is an example class header file which is used to describe the QGroundControl | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 21 | // Note how the Qt headers, System headers and the QGroundControl headers above are kept in separate groups | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 41 | /// Class names are PascalCase. If you override any Qt base class to provide a generic | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 501 | # JS module imports instead. | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 541 | RE_BND_LIST_PROP = re.compile(r'property\s+list\s*<') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 561 | # status===Loader.Ready. Binding to Loader.item.prop without a | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 581 | RE_LDR_SOURCE = re.compile(r'^\s*source\s*:') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 601 | # DEL-3: connect() in Component.onCompleted (survives delegate destruction). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 621 | # STA-2: Transition without from/to (catch-all). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 641 | # IMG-2: Image with network source without asynchronous:true | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 681 | # (glyph shaping, line breaking). Use scale transform on the Text | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 701 | COMMENT | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 721 | COMMENT | |
| LOW | …-example/src/MissionManager/PerimeterScanComplexItem.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestList.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/FlyViewGeoUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/RemoteIDSettingsUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 21 | /// The base class overrides cleanup() to call stopUI() automatically, so the | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 61 | /// Delete the QML engine and reset all pointers. | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 81 | COMMENT | |
| LOW | test/QmlUITests/QmlUITestBase.h | 101 | bool clickButtonScrolled(const QString& objectName, const QString& flickableObjectName); | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 121 | COMMENT | |
| LOW | test/QmlUITests/QmlUITestBase.h | 141 | bool verifyText(const QString& objectName, const QString& expectedText, const QString& context); | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 161 | /// catches Qt behavior changes); with \a strict false 0..N occurrences are | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 181 | COMMENT | |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 21 | void navigateToConfigureView(); | COMMENT |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 41 | COMMENT | |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 61 | /// callers must check QTest::currentTestFailed() after calling. | COMMENT |
| LOW | test/QmlUITests/AppCloseWarningUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/APMSensorsCalibrationUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/NTRIPSettingsUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Transport/Support/GPSRecordingTransport.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Transport/Support/PseudoTerminal.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Transport/Android/AndroidHostPlatform.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Hardware/ReplayGPSTransport.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/ReceiverEventQueue.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/GoldenTranscript.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/GoldenTranscript.h | 21 | // completed configuration command (GPSConfigurationEvidence), and every decoded event. Write-call boundaries are | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/GPSProtocolTestBase.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/ScriptedFaults.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/ProtocolTestPackets.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/UBXReceiverModel.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/ReceiverBench.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/ScriptedReceiver.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/SBFReceiverModel.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/UnicoreReceiverModel.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/DetectionReceiver.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Support/QuectelReceiverModel.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Core/Protocols/Scenarios/GoldenScenarios.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Qml/Support/GPSPanelFixtures.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Support/GPSTestHelpers.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Support/GPSQmlTestHelpers.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Receiver/Support/ScriptedReceiverWorker.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/Receiver/Support/GPSReceiverTestSupport.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/NTRIP/Support/NTRIPTestHelpers.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/NTRIP/Support/ScriptedNTRIPCaster.h | 1 | #pragma once | COMMENT |
| LOW | test/GPS/NTRIP/Support/MockNTRIPTransport.h | 1 | #pragma once | COMMENT |
| LOW | test/Portable/PortableTest.h | 21 | #define QGC_REGISTER_PORTABLE_TEST(className, ...) UT_REGISTER_TEST_LIGHTWEIGHT(className, __VA_ARGS__) | COMMENT |
| LOW | test/Utilities/QGCCommandLineParserTest.h | 1 | #pragma once | COMMENT |
| LOW | test/Utilities/StateMachine/states/StateTestCommon.h | 1 | #pragma once | COMMENT |
| 380 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/moccache.py | 56 | CODE | |
| LOW | tools/generate_docs.py | 4 | CODE | |
| LOW | tools/pre_commit.py | 4 | CODE | |
| LOW | tools/build_profile.py | 4 | CODE | |
| LOW | tools/release.py | 15 | CODE | |
| LOW | tools/clean.py | 11 | CODE | |
| LOW | tools/configure.py | 17 | CODE | |
| LOW | tools/run_tests.py | 16 | CODE | |
| LOW | tools/_bootstrap.py | 3 | CODE | |
| LOW | tools/check_deps.py | 4 | CODE | |
| LOW | tools/android_mem_capture.py | 18 | CODE | |
| LOW | tools/coverage.py | 4 | CODE | |
| LOW | tools/check_clang_format.py | 4 | CODE | |
| LOW | tools/validate_configs.py | 3 | CODE | |
| LOW | tools/analyze.py | 20 | CODE | |
| LOW | tools/analyzers/cppcheck.py | 3 | CODE | |
| LOW | tools/analyzers/clang_format.py | 3 | CODE | |
| LOW | tools/analyzers/compiler.py | 3 | CODE | |
| LOW | tools/analyzers/qmllint.py | 3 | CODE | |
| LOW | tools/analyzers/dependencies.py | 3 | CODE | |
| LOW | tools/qgc_tools/python_env.py | 3 | CODE | |
| LOW | tools/qgc_tools/workflow_runs.py | 3 | CODE | |
| LOW | tools/qgc_tools/docker_variants.py | 3 | CODE | |
| LOW | tools/setup/install_python.py | 4 | CODE | |
| LOW | tools/setup/build_android_openssl.py | 20 | CODE | |
| LOW | tools/setup/build-gstreamer.py | 28 | CODE | |
| LOW | tools/setup/install_qt.py | 15 | CODE | |
| LOW | tools/setup/run_with_retry.py | 3 | CODE | |
| LOW | tools/setup/setup_vscode.py | 3 | CODE | |
| LOW | tools/setup/install_uv.py | 4 | CODE | |
| LOW | tools/setup/read_config.py | 20 | CODE | |
| LOW | tools/setup/install_dependencies/_fedora.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_packages.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 10 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 26 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 27 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 13 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 15 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| 285 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/configure.py | 161 | print("Error: qt-cmake not found; pass --no-qt-cmake to use cmake", file=sys.stderr) | CODE |
| LOW | tools/_bootstrap.py | 61 | except Exception: | CODE |
| MEDIUM | tools/_bootstrap.py | 57 | def _unraisablehook(unraisable) -> None: | CODE |
| MEDIUM | tools/qgc_tools/workflow_runs.py | 144 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 107 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 110 | print(f"Error: Invalid JSON in config file: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 121 | print(f"Error: Key '{key}' not found in config", file=sys.stderr) | CODE |
| LOW⚡ | tools/tests/test_patterns.py | 82 | except Exception: | CODE |
| LOW | tools/simulation/mock_ntrip_caster.py | 156 | except Exception as e: | CODE |
| MEDIUM | tools/simulation/mock_ntrip_caster.py | 151 | def run(self): | CODE |
| MEDIUM | tools/simulation/mock_vehicle.py | 38 | print("Error: pymavlink not installed") | CODE |
| LOW | tools/common/io.py | 193 | except Exception: | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 102 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 110 | def children(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 141 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 161 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 181 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 218 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 233 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 248 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 272 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 302 | def to_string(self): | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 44 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 66 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 107 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 122 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 148 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 168 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 208 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 223 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 238 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 255 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 262 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 292 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 316 | except Exception: | CODE |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1454 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 757 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/mavlink_enums.py | 175 | print(f"Error: {mavlink_dir} is not a directory", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_enums.py | 180 | print(f"Error: no dialect headers found in {mavlink_dir}", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_instance_fields.py | 126 | print(f"Error: Could not find {dialect}.xml in {xml_dir}", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/config_qml/generate_pages.py | 58 | print(f"Error: {args.pages_dir} is not a directory", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate_json.py | 118 | print(f"Error: Duplicate filenames: {path.name} paths: {path} {entry[1]}") | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 125 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 131 | print(f"Error: lupdate failed with exit code {e.returncode}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/coverage_comment.py | 28 | print(f"Error parsing {xml_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 219 | print(f"Error: Failed to download signature file: {error}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 224 | print("Error: Failed to setup minisign", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 228 | print("Error: Signature verification failed", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 248 | print(f"Error: Failed to download minisign: {error}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 254 | print(f"Error extracting minisign: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 259 | print(f"Error: minisign binary not found at {minisign_bin}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 296 | print(f"Error extracting ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 301 | print(f"Error: ccache binary not found at {ccache_bin}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 309 | print(f"Error copying ccache: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 314 | print(f"Error setting permissions: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 318 | print(f"Error installing ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 208 | print(f"Error: Failed to download ccache archive: {error}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 285 | print(f"Error running minisign: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 754 | print(f"Error: Invalid ccache version format: {args.version}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 774 | print(f"Error: Invalid ccache version format: {args.version}", file=sys.stderr) | CODE |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/moccache.py | 136 | except (OSError, subprocess.CalledProcessError): | CODE |
| HIGH | tools/moccache.py | 745 | except OSError: | CODE |
| HIGH | tools/moccache.py | 936 | except OSError: | CODE |
| HIGH | tools/clean.py | 117 | except (subprocess.CalledProcessError, FileNotFoundError, IndexError): | CODE |
| HIGH | tools/_bootstrap.py | 61 | except Exception: | CODE |
| HIGH | tools/check_deps.py | 192 | except (httpx.HTTPError, OSError): | CODE |
| HIGH | tools/common/cmake.py | 22 | except FileNotFoundError: | CODE |
| HIGH | tools/common/io.py | 204 | except FileNotFoundError: | CODE |
| HIGH | tools/debuggers/gdb-pretty-printers/qt6.py | 122 | except Exception: | CODE |
| HIGH | .github/scripts/install_multipass.py | 48 | except subprocess.TimeoutExpired: | CODE |
| HIGH | .github/scripts/ccache_helper.py | 369 | except OSError: | CODE |
| HIGH | .github/scripts/generate_cpm_sbom.py | 39 | except (OSError, subprocess.TimeoutExpired): | CODE |
| HIGH | .github/scripts/generate_cpm_sbom.py | 45 | except (OSError, subprocess.TimeoutExpired): | CODE |
| HIGH | .github/scripts/size_analysis.py | 45 | except (subprocess.TimeoutExpired, subprocess.CalledProcessError): | CODE |
| HIGH | .github/scripts/android_build_retry.py | 43 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | .github/scripts/tests/test_size_analysis.py | 19 | except FileNotFoundError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/moccache.py | 142 | CODE | |
| LOW | tools/moccache.py | 681 | CODE | |
| LOW | tools/moccache.py | 790 | CODE | |
| LOW | tools/pre_commit.py | 54 | CODE | |
| LOW | tools/pre_commit.py | 150 | CODE | |
| LOW | tools/configure.py | 89 | CODE | |
| LOW | tools/android_mem_capture.py | 137 | CODE | |
| LOW | tools/analyzers/compiler.py | 156 | CODE | |
| LOW | tools/analyzers/clang_tidy.py | 31 | CODE | |
| LOW | tools/analyzers/qt_translate_noop_check.py | 139 | CODE | |
| LOW | tools/analyzers/dependencies.py | 15 | CODE | |
| LOW | tools/analyzers/vehicle_null_check.py | 71 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 23 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 28 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 158 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 92 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 162 | CODE | |
| LOW | tools/simulation/run_arducopter_sitl.py | 51 | CODE | |
| LOW | tools/simulation/mock_ntrip_caster.py | 238 | CODE | |
| LOW | tools/common/cmake.py | 13 | CODE | |
| LOW | tools/common/net.py | 28 | CODE | |
| LOW | tools/common/file_traversal.py | 73 | CODE | |
| LOW | tools/common/gh_actions.py | 182 | CODE | |
| LOW | tools/debuggers/profile.py | 32 | CODE | |
| LOW | tools/debuggers/gst_latency_parser.py | 48 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 882 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1045 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1300 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1374 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 212 | CODE | |
| LOW | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 473 | CODE | |
| LOW | …profiler/references/scripts/parse-qmlprofiler-trace.py | 32 | CODE | |
| LOW | tools/generators/mavlink_instance_fields.py | 57 | CODE | |
| LOW | tools/generators/settings_qml/metadata.py | 65 | CODE | |
| LOW | tools/generators/settings_qml/metadata.py | 123 | CODE | |
| LOW | tools/generators/settings_qml/model.py | 326 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 49 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 174 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 308 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 31 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 110 | CODE | |
| LOW | tools/translations/check_placeholders.py | 75 | CODE | |
| LOW | tools/translations/check_placeholders.py | 140 | CODE | |
| LOW | tools/translations/check_placeholders.py | 173 | CODE | |
| LOW | tools/translations/check_placeholders.py | 228 | CODE | |
| LOW | tools/translations/qgc_lupdate.py | 33 | CODE | |
| LOW | test/GPS/Core/Protocols/Hardware/check_runner.py | 140 | CODE | |
| LOW | deploy/docker/entrypoint.py | 115 | CODE | |
| LOW | .github/scripts/generate_build_results_comment.py | 171 | CODE | |
| LOW | .github/scripts/release_builds.py | 46 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 506 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 170 | CODE | |
| LOW | .github/scripts/download_artifacts.py | 185 | CODE | |
| LOW | .github/scripts/collect_artifact_sizes.py | 52 | CODE | |
| LOW | .github/scripts/install_dependencies_helper.py | 43 | CODE | |
| LOW | .github/scripts/apt_install_retry.py | 48 | CODE | |
| LOW | .github/scripts/validate_native_package.py | 49 | CODE | |
| LOW | .github/scripts/android_boot_test.py | 259 | CODE | |
| LOW | .github/scripts/build_cache_artifact.py | 120 | CODE | |
| LOW | .github/scripts/build_cache_artifact.py | 139 | CODE | |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/tests/test_settings_qml_generator.py | 967 | showWhen="sink && sink.enabled", | CODE |
| HIGH | tools/tests/test_settings_qml_generator.py | 982 | assert "visible: sink && sink.enabled" in qml | CODE |
| HIGH | tools/tests/test_version_drift.py | 42 | "Run: (cd tools && uv lock) and commit the result.\n\n" | CODE |
| HIGH | tools/tests/test_translation_placeholders.py | 507 | "${{ github.event.pull_request.base.sha || github.event.before }}" | CODE |
| HIGH | …t-run/references/scripts/parse-qmltestrunner-output.py | 32 | "failure_message": str | null, | STRING |
| HIGH | tools/generators/settings_qml/emit.py | 243 | section_vis = f"(sectionFilter === -1 || sectionFilter === {grp_idx})" | CODE |
| HIGH | tools/generators/config_qml/model.py | 134 | are composed with && so the control is only visible when the param exists | STRING |
| HIGH | .github/scripts/tests/test_release_assets.py | 252 | "inputs.subject-name || inputs.package-name) }}" | CODE |
| HIGH⚡ | .github/scripts/tests/test_workflow_security_policy.py | 168 | assert "npm ci || npm install" not in build_script | CODE |
| HIGH | .github/scripts/tests/test_cache_backend.py | 54 | warning: value => warnings.push(value), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 20 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 81 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/ParameterTest.h | 14 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/VehicleTest.h | 47 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/CommsTest.h | 17 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 278 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 477 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/EventQueuedState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/LoopState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/RollbackState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/FallbackChainState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SkippableAsyncState.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/ProgressState.h | 15 | /// Example usage: | COMMENT |
| LOW | …ies/StateMachine/States/RetryableRequestMessageState.h | 19 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SequenceState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/CircuitBreakerState.h | 20 | /// Example usage: | COMMENT |
| LOW | …c/Utilities/StateMachine/Transitions/RetryTransition.h | 15 | /// Example usage: | COMMENT |
| LOW | …Utilities/StateMachine/Transitions/TimeoutTransition.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateMachineLogger.h | 24 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateContext.h | 16 | /// Example usage: | COMMENT |
| LOW | …/Utilities/StateMachine/Helpers/ErrorRecoveryBuilder.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/ErrorHandlers.h | 17 | /// Example usage: | COMMENT |
| LOW | src/Utilities/FileSystem/QGCFileWatcher.h | 18 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveFile.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCDecompressDevice.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveWatcher.h | 17 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/setup/install_dependencies/_fedora.py | 39 | __all__ = ["install_fedora"] | CODE |
| LOW | tools/setup/install_dependencies/_macos.py | 115 | __all__ = ["get_gstreamer_macos_urls", "install_macos"] | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 425 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_cli.py | 226 | __all__ = ["list_packages", "main", "parse_args", "print_packages"] | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 288 | def _set_env_var_ci(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 294 | def _set_env_var_local(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 305 | def set_env_var(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 367 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 230 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/__init__.py | 72 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_arch.py | 42 | __all__ = ["install_arch"] | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 242 | __all__ = [ | CODE |
| LOW | tools/common/git.py | 18 | __all__ = ["get_default_branch_ref", "run_git"] | CODE |
| LOW | tools/common/deps.py | 25 | __all__ = ["check_and_report", "check_dependencies", "require_tool"] | CODE |
| LOW | tools/common/env.py | 12 | __all__ = [ | CODE |
| LOW | tools/common/proc.py | 23 | __all__ = ["run_bytes", "run_captured", "run_tee", "run_text", "run_with_retry"] | CODE |
| LOW | tools/common/opener.py | 18 | __all__ = ["open_in_default_app"] | CODE |
| LOW | tools/common/cmake.py | 8 | __all__ = ["read_cache_dict", "read_cache_var"] | CODE |
| LOW | tools/common/net.py | 15 | __all__ = ["download_file", "read_url_text"] | CODE |
| LOW | tools/common/io.py | 23 | __all__ = [ | CODE |
| LOW | tools/common/analyzer.py | 20 | __all__ = ["AnalysisResult", "AnalyzerBase"] | CODE |
| LOW | tools/common/xml.py | 15 | __all__ = ["XMLParseError", "xml_parse"] | CODE |
| LOW | tools/common/format.py | 12 | __all__ = ["format_bytes", "format_delta_bytes"] | CODE |
| LOW | tools/common/aws.py | 13 | __all__ = [ | CODE |
| LOW | tools/common/cobertura.py | 15 | __all__ = ["CoberturaError", "CoberturaMetrics", "read_cobertura"] | CODE |
| LOW | tools/common/platform.py | 15 | __all__ = [ | CODE |
| LOW | tools/common/markdown.py | 15 | __all__ = ["md_table"] | CODE |
| LOW | tools/common/artifact_metadata.py | 15 | __all__ = [ | CODE |
| LOW | tools/common/tool_version.py | 22 | __all__ = ["DEFAULT_VERSION_RE", "probe_version", "uv_lock_version", "version_prefix_matches"] | CODE |
| LOW | tools/generators/settings_qml/page_generator.py | 27 | __all__ = [ | CODE |
| LOW | tools/generators/config_qml/page_generator.py | 24 | __all__ = [ | CODE |
| LOW | deploy/docker/_variants.py | 12 | __all__ = ["VARIANTS_JSON", "DockerVariant", "load_variants"] | CODE |
| LOW | .github/scripts/generate_build_results_comment.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | .github/scripts/verify_executable.py | 25 | def _setup_gstreamer_env(build_dir: Path) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 844 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1014 | # Build context window | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 85 | scope_aware: bool = True # Truncate context window at function-scope boundaries (column-0 closing brace) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 370 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 425 | # Scope-aware context window builder | COMMENT |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 601 | # Build context window (use comment-stripped lines) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/tests/test_settings_qml_generator.py | 1322 | "controls": [{"setting": "appSettings.x", "placeholder": "a\\b"}], | CODE |
| LOW⚡ | tools/tests/test_settings_qml_generator.py | 1326 | with pytest.raises(ValueError, match="placeholder"): | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-controls.md | 397 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 133 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 134 | compare(emailField.text, qsTr("user@example.com")) | CODE |
| LOW | tools/generators/settings_qml/model.py | 181 | "placeholder", | CODE |
| LOW | tools/generators/settings_qml/model.py | 245 | ctrl_data.get("placeholder", ""), "control placeholder", json_path | CODE |
| LOW | src/AppSettings/pages/RTKCorrections.SettingsUI.json | 76 | "placeholder": "e.g. 1005,1077,1087" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/setup/install_qt.py | 184 | Pick the primary Android Qt root from installed ABIs. Args: abis: Semicolon-separated ABI list (e.g. "arm64 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/common/proc.py | 26 | CODE | |
| LOW | tools/generators/common/controls.py | 174 | CODE | |
| LOW | tools/generators/common/controls.py | 305 | CODE | |
| LOW | tools/generators/common/controls.py | 647 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 925 | # Check if this property was bound with : in the file | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 954 | # Check if the property has a dynamic binding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Vehicle/VehicleSetup/Bootloader.h | 37 | /// IMPORTANT: Make sure this id does not conflict with any newly added real board ids | COMMENT |