diff options
| author | blasty <blasty@local> | 2026-07-23 00:49:06 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-23 00:49:06 +0200 |
| commit | cf4007b3824ba170699efd6ffbc3c065ecb10669 (patch) | |
| tree | 98499aabea61db0a7fc9e1dd54dbd4eb12c504c5 /server/patch_server.py | |
| parent | perf: read_raw tool — bulk byte reads for the hex view (5–8x) (diff) | |
| download | ida-tui-cf4007b3824ba170699efd6ffbc3c065ecb10669.tar.gz ida-tui-cf4007b3824ba170699efd6ffbc3c065ecb10669.tar.xz ida-tui-cf4007b3824ba170699efd6ffbc3c065ecb10669.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
