• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vbpf / prevail / 28927448050
86%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 08:17AM UTC
Jobs 2
Files 79
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Jul 2026 08:05AM UTC coverage: 86.501% (-0.01%) from 86.515%
28927448050

push

github

web-flow
Make WTO consumers iterative to avoid stack overflow on crafted CFGs (#1181)

The WTO builder is deliberately iterative to survive large CFGs, but three
consumers recursed on cycle-nesting depth:
 - is_component_member (src/cfg/wto.cpp)
 - Wto/WtoCycle::for_each_loop_head (src/cfg/wto.hpp, used by
   pass_insert_termination_counters)
 - collect_wto_labels (src/ir/cfg_builder.cpp), invoked unconditionally by
   pass_validate_tail_call_depth for every program.

A crafted program (eBPF allows ~1M instructions) with ~N/2 nested strongly-
connected components drives recursion depth O(N); on the mandatory
collect_wto_labels path that can exhaust the C++ stack and crash -- a DoS on
untrusted bytecode.

Convert all three to explicit work-stacks, mirroring the builder. Traversal
semantics are unchanged (order is unspecified for for_each_loop_head; the label
sets are identical); verified by no regression across [yaml] and the full
non-slow [samples] suite, which drive WTO ordering through every analysis.

Signed-off-by: Elazar Gershuni <elazarg@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

21 of 33 new or added lines in 3 files covered. (63.64%)

9157 of 10586 relevant lines covered (86.5%)

6464549.41 hits per line

Uncovered Changes

Lines Coverage ∆ File
11
88.97
-2.7% src/cfg/wto.cpp
1
91.67
3.43% src/cfg/wto.hpp
Jobs
ID Job ID Ran Files Coverage
1 run-Debug - 28927448050.1 08 Jul 2026 09:16AM UTC 79
84.77
GitHub Action Run
2 run-Release - 28927448050.2 08 Jul 2026 08:17AM UTC 79
85.59
GitHub Action Run
Source Files on build 28927448050
  • Tree
  • List 79
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 4cf8c60a on github
  • Prev Build on main (#28867867633)
  • Next Build on main (#28928321170)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc