Commit 606343a
committed
rsz: add cpp test guarding prevArc()->from() driver-input port lookup
Regression guard for the issue #10210 fix in SizeUpMove: the driver
input LibertyPort is now resolved via drvr_path->prevArc()->from()
(using prev_edge_id_ / prev_arc_idx_ stored on the Path itself)
instead of drvr_path->prevPath()->pin(), which dereferenced a raw
prev_path_ pointer vulnerable to dangling after paths_ realloc.
This test uses the existing BufRemTest buffer chain, constrains
timing with a virtual clock + output delay, then checks that
prevArc()->from() returns the same LibertyPort as network_->libertyPort(
driver_input_pin). It does not attempt to reproduce the UAF (which
requires ASAN + a full multi-corner repair_timing run) but pins the
semantic contract the fix relies on, so a future refactor that
substitutes the wrong arc/port would fail here.
Signed-off-by: Minju Kim <mkim@precisioninno.com>1 parent 7282ca3 commit 606343a
1 file changed
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| |||
167 | 169 | | |
168 | 170 | | |
169 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
170 | 202 | | |
0 commit comments