1.2 KiB
UNDF: UNDF-2026-000000550
tcpdump — CWE-407 scan result: CLEAN
Scan date: 2026-03-27 Files scanned:
print-ip.c(IP packet printing)addrtoname.c(address to name cache)
Candidates Investigated
addrtoname.c — hash collision chains
ipaddr_string(), ip6addr_string(), tcpport_string(), udpport_string(),
lookup_emem() all traverse linked-list collision chains within a
HASHNAMESIZE=4096 bucket array.
Pattern:
p = &hnametable[addr & (HASHNAMESIZE-1)];
for (; p->nxt; p = p->nxt) {
if (p->addr == addr)
return (p->name);
}
This is a standard open-chain hash table — O(1) average, O(B) worst case per bucket where B = collision depth. The outer "loop" is the packet stream, but each call is an independent hash lookup, not a membership test inside a bounded outer loop. Bucket depth stays near O(1) with a good hash and 4096 buckets covering a 32-bit address space. This does not meet the CWE-407 definition of "linear membership test inside a loop."
print-ip.c — ip_optprint, ip_printroute, ip_printts
All loops are single-pass O(N) iterations over IP options or route entries. No nested O(N) search inside a loop over options. Clean.
Verdict: CLEAN
No CWE-407 defects found in the scanned files.