summaryrefslogtreecommitdiffstats
path: root/idatui
diff options
context:
space:
mode:
authorblasty <peter@haxx.in>2026-07-22 23:50:40 +0200
committerblasty <peter@haxx.in>2026-07-22 23:50:40 +0200
commitf6fee793ce57953d49993a97160ec454abb0eaf9 (patch)
treeef5a64a7e28bcb9a9304c6791d1899816de09cdc /idatui
parentapp: ListingView — virtualized flat code+data listing for regions (M2) (diff)
downloadida-tui-f6fee793ce57953d49993a97160ec454abb0eaf9.tar.gz
ida-tui-f6fee793ce57953d49993a97160ec454abb0eaf9.tar.xz
ida-tui-f6fee793ce57953d49993a97160ec454abb0eaf9.zip
server: coalesce undefined byte runs in the heads walker
The M2 fix (step by get_item_end so undefined bytes render and arbitrary addresses land exactly) emits one row per undefined byte, which would explode a large .bss/undefined region into millions of rows and make load_all crawl. Collapse a run of consecutive undefined bytes into a single `db N dup(?)` row (its end found in O(1) via next_head, which skips undefined). A single stray undefined byte still renders normally (shows its value), so exact-address navigation and the c/p/u workflow are unchanged: a 42-byte gap is one row at the run start, and 'p' there auto-analyzes the function. Verified: undefining a function yields one `db 42 dup(?)` row (not 42); echo .text stays 5036 heads; data segments unaffected. region_define + listing_view + test_domain[listing] all green. Needs a supervisor restart.
Diffstat (limited to 'idatui')
0 files changed, 0 insertions, 0 deletions