diff options
| author | blasty <peter@haxx.in> | 2026-07-23 00:49:06 +0200 |
|---|---|---|
| committer | blasty <peter@haxx.in> | 2026-07-23 00:49:06 +0200 |
| commit | 80311f5f7fa57cb8f7487a1fb1fdd59735adc7de (patch) | |
| tree | ece48f4bb119c00c77a31a26707dc6368e87978b /server/patch_server.py | |
| parent | perf: read_raw tool — bulk byte reads for the hex view (5–8x) (diff) | |
| download | ida-tui-80311f5f7fa57cb8f7487a1fb1fdd59735adc7de.tar.gz ida-tui-80311f5f7fa57cb8f7487a1fb1fdd59735adc7de.tar.xz ida-tui-80311f5f7fa57cb8f7487a1fb1fdd59735adc7de.zip | |
fix: crash on an unnamed function (None name) in the symbol palette
`Ctrl+N` then typing crashed with `AttributeError: 'NoneType' object has no
attribute 'lower'` when a function had no name: Func.from_raw took `d["name"]`
verbatim, so a server-returned null/missing name became None and blew up
_fuzzy (and would break sort/rename-prefill too).
Two-layer fix:
* Func.from_raw synthesizes IDA's `sub_<ADDR>` for a null/empty/missing name
(and tolerates a missing size) so `name` is always a str for every
consumer; and
* _fuzzy guards against a falsy name defensively.
Verified: Func.from_raw({addr, name:null}) -> "sub_1000"; _fuzzy(None,'m') ->
None (no raise). Pilot palette + startup 9/0.
Diffstat (limited to 'server/patch_server.py')
0 files changed, 0 insertions, 0 deletions
