Skip to content

Fix crashes in &blut, exact, speedup, and write_verilog - #570

Merged
aletempiac merged 1 commit into
berkeley-abc:masterfrom
calewis:fix-cli-and-null-bugs
Sep 25, 2026
Merged

aletempiac merged 1 commit into
berkeley-abc:masterfrom
calewis:fix-cli-and-null-bugs

Conversation

@calewis

@calewis calewis commented Sep 24, 2026

Copy link
Copy Markdown
Contributor
  • &blut: reject LUT size outside [2, 15] to prevent assertion/NULL dereference.
    Reproducer: ./abc -c "r i10.aig; &get; &blut -K 16"
  • exact: bound -A arrival time list to 8 entries to prevent stack buffer overflow.
    Reproducer: ./abc -c "r i10.aig; exact -A $(seq -s, 1 150)"
  • speedup: return early if Abc_NtkDelayTraceLut fails (-ABC_INFINITY) instead of dereferencing unallocated timing data.
    Reproducer: ./abc -c "r i10.aig; if -K 8; speedup -l"
  • write_verilog: check both ABC_OBJ_PI and ABC_OBJ_NET for existing "clock" signal to avoid emitting duplicate clock ports on netlists.
    Reproducer: ./abc -c "r i10.aig; logic; pipe; write_verilog _tmp.v; read_verilog _tmp.v; write_verilog _tmp.v; read_verilog _tmp.v"

- &blut: reject LUT size outside [2, 15] to prevent assertion/NULL dereference.
  Reproducer: ./abc -c "r i10.aig; &get; &blut -K 16"
- exact: bound -A arrival time list to 8 entries to prevent stack buffer overflow.
  Reproducer: ./abc -c "r i10.aig; exact -A $(seq -s, 1 150)"
- speedup: return early if Abc_NtkDelayTraceLut fails (-ABC_INFINITY) instead of dereferencing unallocated timing data.
  Reproducer: ./abc -c "r i10.aig; if -K 8; speedup -l"
- write_verilog: check both ABC_OBJ_PI and ABC_OBJ_NET for existing "clock" signal to avoid emitting duplicate clock ports on netlists.
  Reproducer: ./abc -c "r i10.aig; logic; pipe; write_verilog _tmp.v; read_verilog _tmp.v; write_verilog _tmp.v; read_verilog _tmp.v"
@aletempiac
aletempiac merged commit ab2139e into berkeley-abc:master Sep 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants