Apache NuttX is a mature, real-time embedded operating system (RTOS)
This report summarizes scanner evidence for apache/nuttx, a C project with 4,065 GitHub stars. SynthScan examined 6,415,590 lines of code across 19721 source files, recording 49050 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 6.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? 48921 finding(s).
Are imports declared and package/API names verified? 19 finding(s).
Are wrappers, guards, and repeated structures necessary? 154 finding(s).
Which changes need focused human review? 49050 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 49050 distinct pattern matches across 20 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 |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # ############################################################################## | COMMENT |
| LOW | CMakeLists.txt | 21 | # ############################################################################## | COMMENT |
| LOW | crypto/xform.c | 61 | * PURPOSE. | COMMENT |
| LOW | crypto/CMakeLists.txt | 1 | # ############################################################################## | COMMENT |
| LOW | crypto/cryptodev.c | 41 | #include <stdbool.h> | COMMENT |
| LOW | crypto/testmngr.c | 21 | ****************************************************************************/ | COMMENT |
| LOW | crypto/cryptosoft.c | 21 | * supported the development of this code. | COMMENT |
| LOW | crypto/crypto.c | 21 | * supported the development of this code. | COMMENT |
| LOW | crypto/random_pool.c | 21 | ****************************************************************************/ | COMMENT |
| LOW | crypto/rmd160.c | 81 | #define KK0 0x50A28BE6U | COMMENT |
| LOW | Documentation/conf.py | 1 | ############################################################################## | COMMENT |
| LOW | Documentation/conf.py | 21 | # Configuration file for the Sphinx documentation builder. | COMMENT |
| LOW | Documentation/redirects.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one or more | COMMENT |
| LOW | Documentation/redirects.py | 281 | # What a board offers, and how far its port has been taken, are facts about | COMMENT |
| LOW | Documentation/_extensions/warnings_filter.py | 1 | ############################################################################## | COMMENT |
| LOW | Documentation/_extensions/__init__.py | 1 | ############################################################################## | COMMENT |
| LOW | Documentation/_extensions/tags_overview.py | 1 | ############################################################################## | COMMENT |
| LOW | video/CMakeLists.txt | 1 | # ############################################################################## | COMMENT |
| LOW | video/videomode/CMakeLists.txt | 1 | # ############################################################################## | COMMENT |
| LOW | tools/indent.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/indent.sh | 21 | # | COMMENT |
| LOW | tools/mkconfigvars.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/unlink.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/CMakeLists.txt | 1 | # ############################################################################## | COMMENT |
| LOW | tools/mkfsdata.pl | 1 | #!/usr/bin/perl | COMMENT |
| LOW | tools/mkfsdata.pl | 21 | # used to endorse or promote products derived from this software | COMMENT |
| LOW | tools/checkrelease.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/checkkconfig.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/checkkconfig.py | 21 | COMMENT | |
| LOW | tools/checkkconfig.py | 41 | # BINFMT_LOADABLE y n | COMMENT |
| LOW | tools/checkkconfig.py | 61 | # --- a/boards/demo/configs/nsh/defconfig | COMMENT |
| LOW | tools/checkkconfig.py | 81 | # | COMMENT |
| LOW | tools/checkkconfig.py | 101 | # MODLIB_ALIGN_LOG2 2 <unset> | COMMENT |
| LOW | tools/checkkconfig.py | 121 | # SYSTEM_NXPLAYER y n | COMMENT |
| LOW | tools/simlaunch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/board_romfs_mkpasswd.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/copydir.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/copydir.sh | 21 | # | COMMENT |
| LOW | tools/abi_check.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/mkallsyms.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/checkpatch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/refresh.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/stm32_pinmap_tool.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/jlink-nuttx.c | 41 | #define DISPLAY_LENGTH 256 | COMMENT |
| LOW | tools/mkctags.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/process_config.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/testbuild.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/mknulldeps.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/nxtagspkgsfetch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/flash_writer.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/host_info_dump.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/find_symbol_callers.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/discover.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/nxstyle_sweep.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/nxstyle_sweep.sh | 21 | # | COMMENT |
| LOW | tools/host_info_parse.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/coredump.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/xmlrpc_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/splashscreen_converter.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/gencromfs.c | 21 | ****************************************************************************/ | COMMENT |
| 48690 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/CMakeLists.txt | 93 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 96 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 103 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 105 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 115 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 117 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 124 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 126 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 133 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 135 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 142 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 144 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 151 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 153 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 160 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 162 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 169 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 171 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 178 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/CMakeLists.txt | 180 | # ============================================================================ | COMMENT |
| MEDIUM | tools/checkkconfig.py | 40 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/checkkconfig.py | 85 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 27 | # ------------------------------------------ | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 38 | # ------------------------------------------ | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 191 | # ================================================= | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 205 | # ========================================================= | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 211 | # ===================================================== | COMMENT |
| MEDIUM | tools/lwl/ocdconsole.py | 226 | # ============================================ | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 99 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 101 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 113 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/imxrt1180/build_flash_image.sh | 126 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/imxrt1180/build_flash_image.sh | 235 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/espressif/burn_flash_enc_key.py | 10 | # ---------- | COMMENT |
| MEDIUM | tools/espressif/burn_flash_enc_key.py | 22 | # --------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 116 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 120 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 149 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 153 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 206 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 208 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 251 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 253 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 330 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | arch/arm/src/rtl8730e/CMakeLists.txt | 334 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 69 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 71 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 79 | # ------------------------------------------------------------------------- | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/stm32_pinmap_tool.py | 68 | # All others had a OSPEDD reg so we just set it | COMMENT |
| MEDIUM | tools/kasan_global.py | 246 | # to facilitate the program to traverse the array. | COMMENT |
| MEDIUM | tools/pynuttx/nxgdb/macros.py | 30 | # There might be two ways to achieve this, one is to leverage the C preprocessor | COMMENT |
| MEDIUM | tools/pynuttx/nxgdb/macros.py | 34 | # While the other way is to leverage the dwarf info stored in the ELF file, | COMMENT |
| MEDIUM⚡ | …ch/risc-v/src/rp23xx-rv/hardware/rp23xx_usbctrl_regs.h | 50 | #define RP23XX_USBCTRL_REGS_EP_ABORT_DONE_OFFSET 0x000064 /* Device only: Used in conjunction with `EP_ABORT` | COMMENT |
| MEDIUM⚡ | …ch/risc-v/src/rp23xx-rv/hardware/rp23xx_usbctrl_regs.h | 51 | #define RP23XX_USBCTRL_REGS_EP_STALL_ARM_OFFSET 0x000068 /* Device: this bit must be set in conjunction with | COMMENT |
| MEDIUM⚡ | …ch/risc-v/src/rp23xx-rv/hardware/rp23xx_usbctrl_regs.h | 56 | #define RP23XX_USBCTRL_REGS_USBPHY_DIRECT_OFFSET 0x00007c /* This register allows for direct control of the U | COMMENT |
| LOW | arch/risc-v/src/rp23xx-rv/hardware/rp23xx_dma.h | 174 | #define RP23XX_DMA_INTR_MASK (0xffff) /* Raw interrupt status for DMA Channels 0..15. Bit | COMMENT |
| MEDIUM | arch/risc-v/src/rp23xx-rv/hardware/rp23xx_pio.h | 178 | #define RP23XX_PIO_SM_EXECCTRL_INLINE_OUT_EN (1 << 18) /* If 1, use a bit of OUT data as an auxiliary write enabl | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp2040/hardware/rp2040_usbctrl_regs.h | 63 | #define RP2040_USBCTRL_REGS_EP_ABORT_DONE_OFFSET 0x000064 /* Device only: Used in conjunction with `EP_ABORT` | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp2040/hardware/rp2040_usbctrl_regs.h | 64 | #define RP2040_USBCTRL_REGS_EP_STALL_ARM_OFFSET 0x000068 /* Device: this bit must be set in conjunction with | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp2040/hardware/rp2040_usbctrl_regs.h | 69 | #define RP2040_USBCTRL_REGS_USBPHY_DIRECT_OFFSET 0x00007c /* This register allows for direct control of the U | COMMENT |
| LOW | arch/arm/src/rp2040/hardware/rp2040_dma.h | 161 | #define RP2040_DMA_INTR_MASK (0xffff) /* Raw interrupt status for DMA Channels 0..15. Bit | COMMENT |
| MEDIUM | arch/arm/src/rp2040/hardware/rp2040_pio.h | 227 | #define RP2040_PIO_SM_EXECCTRL_INLINE_OUT_EN (1 << 18) /* If 1, use a bit of OUT data as an auxiliary write enabl | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp23xx/hardware/rp23xx_usbctrl_regs.h | 50 | #define RP23XX_USBCTRL_REGS_EP_ABORT_DONE_OFFSET 0x000064 /* Device only: Used in conjunction with `EP_ABORT` | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp23xx/hardware/rp23xx_usbctrl_regs.h | 51 | #define RP23XX_USBCTRL_REGS_EP_STALL_ARM_OFFSET 0x000068 /* Device: this bit must be set in conjunction with | COMMENT |
| MEDIUM⚡ | arch/arm/src/rp23xx/hardware/rp23xx_usbctrl_regs.h | 56 | #define RP23XX_USBCTRL_REGS_USBPHY_DIRECT_OFFSET 0x00007c /* This register allows for direct control of the U | COMMENT |
| LOW | arch/arm/src/rp23xx/hardware/rp23xx_dma.h | 174 | #define RP23XX_DMA_INTR_MASK (0xffff) /* Raw interrupt status for DMA Channels 0..15. Bit | COMMENT |
| MEDIUM | arch/arm/src/rp23xx/hardware/rp23xx_pio.h | 178 | #define RP23XX_PIO_SM_EXECCTRL_INLINE_OUT_EN (1 << 18) /* If 1, use a bit of OUT data as an auxiliary write enabl | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/checkkconfig.py | 202 | CODE | |
| LOW | tools/abi_check.py | 300 | CODE | |
| LOW | tools/stm32_pinmap_tool.py | 292 | CODE | |
| LOW | tools/stm32_pinmap_tool.py | 404 | CODE | |
| LOW | tools/stm32_pinmap_tool.py | 449 | CODE | |
| LOW | tools/process_config.py | 69 | CODE | |
| LOW | tools/process_config.py | 286 | CODE | |
| LOW | tools/process_config.py | 414 | CODE | |
| LOW | tools/flash_writer.py | 208 | CODE | |
| LOW | tools/flash_writer.py | 311 | CODE | |
| LOW | tools/host_info_dump.py | 113 | CODE | |
| LOW | tools/host_info_dump.py | 262 | CODE | |
| LOW | tools/host_info_dump.py | 338 | CODE | |
| LOW | tools/host_info_parse.py | 28 | CODE | |
| LOW | tools/splashscreen_converter.py | 40 | CODE | |
| LOW | tools/size_report.py | 96 | CODE | |
| LOW | tools/size_report.py | 146 | CODE | |
| LOW | tools/size_report.py | 189 | CODE | |
| LOW | tools/size_report.py | 268 | CODE | |
| LOW | tools/size_report.py | 390 | CODE | |
| LOW | tools/size_report.py | 499 | CODE | |
| LOW | tools/size_report.py | 585 | CODE | |
| LOW | tools/size_report.py | 771 | CODE | |
| LOW | tools/ide_exporter.py | 790 | CODE | |
| LOW | tools/ide_exporter.py | 472 | CODE | |
| LOW | tools/ide_exporter.py | 729 | CODE | |
| LOW | tools/gdbserver.py | 1117 | CODE | |
| LOW | tools/gdbserver.py | 330 | CODE | |
| LOW | tools/gdbserver.py | 684 | CODE | |
| LOW | tools/gdbserver.py | 711 | CODE | |
| LOW | tools/gdbserver.py | 961 | CODE | |
| LOW | tools/gdbserver.py | 1002 | CODE | |
| LOW | tools/parsecallstack.py | 73 | CODE | |
| LOW | tools/parsetrace.py | 124 | CODE | |
| LOW | tools/parsetrace.py | 303 | CODE | |
| LOW | tools/parsetrace.py | 433 | CODE | |
| LOW | tools/parsetrace.py | 538 | CODE | |
| LOW | tools/gcov.py | 29 | CODE | |
| LOW | tools/stackusage.py | 138 | CODE | |
| LOW | tools/stackusage.py | 213 | CODE | |
| LOW | tools/stackusage.py | 311 | CODE | |
| LOW | tools/stackusage.py | 376 | CODE | |
| LOW | tools/stackusage.py | 525 | CODE | |
| LOW | tools/stackusage.py | 391 | CODE | |
| LOW | tools/kasan_global.py | 229 | CODE | |
| LOW | tools/pynuttx/nxgdb/thread.py | 309 | CODE | |
| LOW | tools/pynuttx/nxgdb/utils.py | 1080 | CODE | |
| LOW | tools/pynuttx/nxgdb/macros.py | 126 | CODE | |
| LOW | tools/pynuttx/nxgdb/fs.py | 105 | CODE | |
| LOW | tools/pynuttx/nxgdb/memcheck.py | 39 | CODE | |
| LOW | tools/espressif/chip_info.py | 134 | CODE | |
| LOW | boards/risc-v/erbium/minion/tools/test_emu.py | 39 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/abi_check.py | 76 | print(f"Error: {err}") | STRING |
| MEDIUM | tools/abi_check.py | 569 | print("Error: elf and lib must be provided") | STRING |
| MEDIUM | tools/abi_check.py | 573 | print("Error: elf must be provided") | STRING |
| LOW | tools/flash_writer.py | 297 | except Exception as e: | CODE |
| LOW | tools/flash_writer.py | 387 | except Exception as e: | CODE |
| LOW | tools/flash_writer.py | 585 | except Exception: | CODE |
| MEDIUM | tools/flash_writer.py | 581 | def main(): | CODE |
| MEDIUM | tools/host_info_dump.py | 197 | eprint("Error: Failed to get installed packages.") | CODE |
| MEDIUM | tools/host_info_dump.py | 215 | eprint("Error: Failed to get installed packages.") | CODE |
| MEDIUM | tools/host_info_dump.py | 417 | print("Error: NuttX configuration file not found: {}".format(config_path)) | CODE |
| LOW | tools/ide_exporter.py | 279 | except Exception as e: | CODE |
| LOW | tools/ide_exporter.py | 327 | except Exception as e: | CODE |
| LOW | tools/ide_exporter.py | 1002 | except Exception as e: | CODE |
| LOW | tools/gdbserver.py | 499 | except Exception as e: | CODE |
| LOW | tools/parsetrace.py | 119 | except Exception: | CODE |
| LOW | tools/parsetrace.py | 263 | except Exception: | CODE |
| LOW | tools/parsetrace.py | 512 | except Exception: | CODE |
| LOW | tools/parsetrace.py | 566 | except Exception as e: | CODE |
| LOW | tools/parsetrace.py | 606 | except Exception as e: | CODE |
| MEDIUM | tools/parsetrace.py | 538 | def printf(self, format, data): | CODE |
| LOW | tools/gcov.py | 80 | except Exception as e: | CODE |
| MEDIUM | tools/gcov.py | 81 | print(f"Error processing {path}: {e}") | CODE |
| LOW | tools/pynuttx/nxgdb/__init__.py | 55 | except Exception as e: | CODE |
| LOW | tools/pynuttx/nxgdb/__init__.py | 64 | except Exception as e: | CODE |
| LOW | tools/pynuttx/nxgdb/memdump.py | 207 | except Exception as e: | CODE |
| MEDIUM | tools/pynuttx/nxgdb/memdump.py | 208 | print(f"Error parsing line: {line}, {e}") | CODE |
| LOW | tools/pynuttx/nxgdb/utils.py | 942 | except Exception: | CODE |
| LOW | tools/pynuttx/nxgdb/utils.py | 1051 | except Exception as e: | CODE |
| MEDIUM | tools/pynuttx/nxgdb/utils.py | 939 | def dumper(obj): | CODE |
| LOW | tools/pynuttx/nxgdb/mm.py | 169 | except Exception: | CODE |
| MEDIUM | tools/pynuttx/nxgdb/mm.py | 166 | def name(self) -> str: | CODE |
| LOW | tools/pynuttx/nxgdb/memcheck.py | 149 | except Exception as e: | CODE |
| LOW | tools/pynuttx/nxgdb/memcheck.py | 171 | except Exception as e: | CODE |
| MEDIUM | tools/pynuttx/nxgdb/memcheck.py | 172 | print(f"Error happened during check: {e}") | CODE |
| LOW | tools/licensing/check.py | 283 | except Exception: | CODE |
| MEDIUM | arch/sim/src/patch_macho_initsection.py | 55 | print(f"Error: failed to parse {args.binary}", file=sys.stderr) | CODE |
| LOW | .github/workflows/build.yml | 163 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/host_info_parse.py | 28 | def parse_information_from_header(file_path): | CODE |
| LOW | tools/size_report.py | 390 | def do_address_range_matching(elf, symbol_dict, processed): | CODE |
| LOW | tools/size_report.py | 499 | def set_root_path_for_unmapped_symbols(symbol_dict, addr_range, processed): | CODE |
| LOW | tools/gdbserver.py | 677 | def handle_signal_query_packet(self): | CODE |
| LOW | tools/gdbserver.py | 684 | def handle_register_group_read_packet(self): | CODE |
| LOW | tools/gdbserver.py | 711 | def handle_register_single_read_packet(self, pkt): | CODE |
| LOW | tools/gdbserver.py | 753 | def handle_register_group_write_packet(self): | CODE |
| LOW | tools/gdbserver.py | 759 | def handle_register_single_write_packet(self, pkt): | CODE |
| LOW | tools/gdbserver.py | 782 | def handle_memory_read_packet(self, pkt): | CODE |
| LOW | tools/gdbserver.py | 812 | def handle_memory_write_packet(self, pkt): | CODE |
| LOW | tools/gdbserver.py | 961 | def handle_general_query_packet(self, pkt): | CODE |
| LOW | tools/pynuttx/nxgdb/thread.py | 38 | def is_thread_command_supported(): | CODE |
| LOW | tools/pynuttx/nxgdb/utils.py | 400 | def suppress_cli_notifications(suppress=True): | CODE |
| LOW | tools/espressif/chip_info.py | 95 | def get_espressif_security_info(): | CODE |
| LOW | tools/espressif/chip_info.py | 114 | def get_espressif_flash_status(): | CODE |
| LOW | tools/espressif/chip_info.py | 125 | def get_espressif_mac_address(): | CODE |
| LOW | tools/espressif/chip_info.py | 134 | def get_espressif_bootloader_version(bindir): | CODE |
| LOW | tools/espressif/chip_info.py | 198 | def get_espressif_toolchain_version(): | CODE |
| LOW | tools/espressif/chip_info.py | 235 | def get_espressif_hal_version(hal_dir): | CODE |
| LOW | .github/scripts/test_depends_on.py | 92 | def test_leading_zero_rejected(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 104 | def test_above_safe_integer_rejected(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 111 | def test_twenty_digits_rejected(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 117 | def test_huge_number_does_not_crash(self): | CODE |
| LOW | .github/scripts/test_depends_on.py | 131 | def test_crlf_and_cr_are_line_breaks(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 145 | def test_midline_prose_ignored(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 150 | def test_not_depends_on_ignored(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 155 | def test_code_fence_ignored_backtick(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 160 | def test_code_fence_ignored_tilde(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 164 | def test_leading_whitespace_ok(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 168 | def test_four_space_indent_is_code_ignored(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 174 | def test_tab_indent_is_code_ignored(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 179 | def test_indented_fence_is_not_a_fence(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 186 | def test_real_after_prose_still_parsed(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 198 | def test_bare_github_com_without_https_rejected(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 202 | def test_http_github_rejected(self): | CODE |
| LOW⚡ | .github/scripts/test_depends_on.py | 209 | def test_multiple_depends_on_lines(self): | CODE |
| LOW | .github/scripts/test_depends_on.py | 224 | def test_bullet_list_not_parsed(self): | CODE |
| LOW | .github/scripts/test_depends_on.py | 268 | def test_dependency_order_is_part_of_state(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/host_info_dump.py | 173 | except (FileNotFoundError, subprocess.CalledProcessError): | CODE |
| HIGH | tools/gdbserver.py | 1258 | except KeyboardInterrupt: | CODE |
| HIGH | tools/callstack.py | 50 | except AttributeError: | CODE |
| HIGH | tools/pynuttx/nxgdb/utils.py | 425 | except gdb.error: | CODE |
| HIGH | tools/pynuttx/nxgdb/utils.py | 550 | except gdb.error: | CODE |
| HIGH | tools/pynuttx/nxgdb/utils.py | 901 | except gdb.error: | CODE |
| HIGH | tools/pynuttx/nxgdb/utils.py | 1099 | except SystemExit: | CODE |
| HIGH | tools/espressif/chip_info.py | 257 | except (subprocess.CalledProcessError, FileNotFoundError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/doreleasenotes.py | 39 | # Create the branch list | COMMENT |
| MEDIUM | tools/link.sh | 80 | # Create the soft link | COMMENT |
| MEDIUM | tools/mkromfsimg.sh | 255 | # Create a working directory | COMMENT |
| MEDIUM | tools/mkromfsimg.sh | 260 | # Create the rc.sysinit file from the rc.sysinit.template | COMMENT |
| MEDIUM | tools/mkromfsimg.sh | 280 | # Create the rcS file from the rcS.template | COMMENT |
| MEDIUM | tools/zipme.sh | 223 | # Create the versioned tarball names | COMMENT |
| MEDIUM | tools/zipme.sh | 296 | # Create the hashes for the two tarballs | COMMENT |
| MEDIUM | tools/mkexport.sh | 128 | # Create the export directory | COMMENT |
| MEDIUM | tools/mkexport.sh | 146 | # Create the export directory and some of its subdirectories | COMMENT |
| MEDIUM | tools/pynuttx/nxgdb/gcore.py | 127 | # Create a random section name | COMMENT |
| MEDIUM | boards/arm/lpc31xx/ea3131/tools/mklpc.sh | 54 | # Create the binary | COMMENT |
| MEDIUM | boards/arm/lpc31xx/ea3152/tools/mklpc.sh | 54 | # Create the binary | COMMENT |
| MEDIUM | boards/arm/lpc31xx/olimex-lpc-h3131/tools/mklpc.sh | 54 | # Create the binary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/unlink.sh | 33 | # Check if something already exists at the link path | COMMENT |
| LOW | tools/copydir.sh | 46 | # Check if something already exists at the destination path replace it with | COMMENT |
| LOW | tools/find_symbol_callers.sh | 72 | # Check if ELF file exists | COMMENT |
| LOW | tools/link.sh | 35 | # Check if something already exists at the destination path replace it with | COMMENT |
| LOW | tools/incdir.sh | 181 | # Check if the path needs to be extended for Windows-based tools under Cygwin | COMMENT |
| LOW | tools/mkromfsimg.sh | 44 | # Verify if we have the optional "-nofat" | COMMENT |
| LOW | tools/mkromfsimg.sh | 61 | # Verify if we have the optional "rcsysinit_fname" and "rcs_fname" | COMMENT |
| LOW | tools/mkexport.sh | 115 | # Check if the make environment variable has been defined | COMMENT |
| LOW | tools/btdecode.sh | 69 | # Check if the first argument is an addr2line tool or a chip | COMMENT |
| LOW | tools/pynuttx/nxgdb/thread.py | 39 | # Check if the native thread command is available by compare the number of threads. | COMMENT |
| LOW | tools/pynuttx/nxgdb/utils.py | 433 | # Check if the symbol is already cached | COMMENT |
| LOW | tools/pynuttx/nxgdb/mm.py | 308 | # Check if it belongs to interrupt pool | COMMENT |
| LOW | tools/pynuttx/nxgdb/memcheck.py | 140 | # Check if this node is corrupted | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Documentation/conf.py | 46 | CODE | |
| LOW | tools/stm32_pinmap_tool.py | 25 | CODE | |
| LOW | tools/pynuttx/gdbinit.py | 37 | CODE | |
| LOW | tools/pynuttx/nxgdb/irq.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/uorb.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/utils.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/wdog.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/mm.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/wqueue.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/irq.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/uorb.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/circbuf.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/wdog.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/mm.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/wqueue.py | 23 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/value.py | 23 | CODE | |
| LOW | tools/espressif/burn_flash_enc_key.py | 44 | CODE | |
| LOW | .github/scripts/depends_on.py | 34 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/ide_exporter.py | 309 | Delete nodes in list from the xlm tree Args: element: root node of etree remove_list: t | STRING |
| HIGH | tools/ide_exporter.py | 791 | Get project structure from make log file. Loop through make log to figure the project structure Args: | STRING |
| HIGH | tools/ide_exporter.py | 893 | Dump project structure Print project structure Args: A dict mapping library/target to its source list | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | drivers/power/battery/bq769x0.c | 1609 | * convert to uA, and don't forget to divide the 4 back out | COMMENT |
| LOW | drivers/ioexpander/pca9538.c | 812 | /* Don't forget to update the shadow registers at this point */ | COMMENT |
| LOW | drivers/ioexpander/mcp23x08.c | 897 | /* Don't forget to update the shadow registers at this point */ | COMMENT |
| LOW | drivers/ioexpander/pca9555.c | 836 | /* Don't forget to update the shadow registers at this point */ | COMMENT |
| LOW | drivers/ioexpander/aw9523b.c | 1327 | /* Don't forget to update the shadow registers at this point. */ | COMMENT |
| LOW | drivers/ioexpander/mcp23x17.c | 908 | /* Don't forget to update the shadow registers at this point */ | COMMENT |
| LOW | libs/libc/misc/lib_ncompress.c | 138 | #ifdef pdp11 /* PDP11: don't forget to compile with -i */ | COMMENT |
| LOW | libs/libc/misc/lib_ncompress.c | 138 | #ifdef pdp11 /* PDP11: don't forget to compile with -i */ | COMMENT |
| LOW | libs/libc/stdio/lib_fopen.c | 192 | /* Don't forget to close the file descriptor if any other | COMMENT |
| LOW | arch/arm/src/lc823450/lc823450_clockconfig.c | 174 | * Don't forget to change GPIO09 pinmux. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/promptpasswd.sh | 24 | # Usage: | COMMENT |
| LOW | tools/update_romfs_password.sh | 19 | # Usage: | COMMENT |
| LOW | tools/check_passwd_keys.sh | 19 | # Usage: | COMMENT |
| LOW | tools/gen_passwd_keys.sh | 19 | # Usage: | COMMENT |
| LOW | tools/nxflat/testsuite.sh | 30 | # Usage: | COMMENT |
| LOW | boards/risc-v/eic7700x/common/tools/mkimage.sh | 36 | # Usage: | COMMENT |
| LOW | boards/arm/imxrt/imxrt1180-evk/tools/flash-jlink.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | drivers/mtd/smart.c | 2503 | /* We need to check if we are converting an older format with incorrect | COMMENT |
| LOW | wireless/ieee802154/mac802154.c | 1338 | /* If we are in promiscuous mode, we need to check if the | COMMENT |
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 70 | # Step 1: Build FIP with NuttX as BL33 | COMMENT |
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 80 | # Step 2: Build 32-byte prepend header and assemble app.bin | COMMENT |
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 111 | # Step 3: Flash via AmebaFlash.py --image-dir (profile handles addresses) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | include/netpacket/netlink.h | 92 | #define NLM_F_DUMP_FILTERED 0x0020 /* Dump was filtered as requested */ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 70 | # Step 1: Build FIP with NuttX as BL33 | COMMENT |
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 80 | # Step 2: Build 32-byte prepend header and assemble app.bin | COMMENT |
| LOW⚡ | arch/arm/src/common/ameba/tools/ameba_smart_flash.sh | 111 | # Step 3: Flash via AmebaFlash.py --image-dir (profile handles addresses) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/size_report.py | 186 | CODE | |
| LOW | tools/size_report.py | 235 | CODE | |
| LOW | tools/lwl/ocdconsole.py | 156 | CODE | |
| LOW | tools/pynuttx/nxgdb/memdump.py | 50 | CODE | |
| LOW | tools/pynuttx/nxgdb/macros.py | 176 | CODE | |
| LOW | tools/pynuttx/nxgdb/protocols/value.py | 47 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/kasan_global.py | 143 | "regin: %08x addr: %08x size: %d bits: %d || poison index: %d nbit: %d nbits: %d" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Documentation/_extensions/tags_overview.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | tools/parsetrace.py | 48 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | boards/CMakeLists.txt | 25 | # TODO: implement if("${CONFIG_ARCH_BOARD_CUSTOM}" STREQUAL "y") CUSTOM_DIR = | COMMENT |