Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com Patches, unit tests, benchmarks, whitepaper, and outreach briefs. Public domain — no copyright claimed. Use freely.
33 lines
1.1 KiB
ReStructuredText
33 lines
1.1 KiB
ReStructuredText
KiCad — CWE-407 Analysis
|
|
=========================
|
|
|
|
.. contents:: :local:
|
|
|
|
Overview
|
|
--------
|
|
|
|
KiCad is an open-source EDA (Electronic Design Automation) suite for PCB design and
|
|
schematic capture. Its connectivity engine (``pcbnew/connectivity/``) builds a netlist
|
|
graph and computes ratsnest (unrouted connections), DRC electrical checks, and net
|
|
topology analysis.
|
|
|
|
Status: **CLEAN** (scanned 2026-03-23)
|
|
---------------------------------------
|
|
|
|
No candidates found in ``pcbnew/connectivity``, ``eeschema/netlist_exporters``, or ``common``.
|
|
|
|
Triage Notes
|
|
------------
|
|
|
|
The connectivity engine builds a ``CN_CONNECTIVITY_ALGO`` graph over pads, tracks, and nets.
|
|
The scan found no ``std::find`` or ``.count()`` calls on ``std::vector`` containers near
|
|
graph traversal keywords in any of the scanned directories.
|
|
|
|
KiCad's connectivity engine uses dedicated ``CN_ITEM`` and ``CN_CLUSTER`` objects with
|
|
direct pointer equality and spatial indexing (R-tree) for connectivity queries. The ratsnest
|
|
computation and DRC passes do not use list-backed visited sets.
|
|
|
|
References
|
|
----------
|
|
|
|
* Scan result: ``tools/scan-results/kicad.txt``
|