Commit Graph
8 Commits
Author SHA1 Message Date
Henrik Rydgård 98e8ffe7cd Check framebuffer copy sources, and fix two easy crashes
The three framebuffer upload paths took Memory::GetPointerUnchecked() on a
GE-supplied source address and then read height rows of it, without ever checking
that span was mapped. Only the destination was validated (and DoBlockTransfer's own
memcpy is carefully guarded, so the intent was clearly there). A copy whose source
starts near the end of RAM walks straight off the end of the view. Clamp the row
count to what's actually mapped, and warn when we do.

GhidraClient dereferenced getArray()->value for both "symbols" and "types" without a
null check, and the getTag() test underneath could never catch it - getArray() has
already filtered by tag, so it returns either a JSON_ARRAY node or nullptr. Any
HTTP 200 that parses as JSON but isn't the shape we expect - {}, a bare array, an
incompatible ghidra-rest-api, or the host/port pointed at some other JSON service -
crashed the worker thread. FetchTypes() runs first, so that's the one you'd hit.

RiscV and LoongArch CPU detection divided TotalLogicalCount() by ProcessorCount()
before checking it. ProcessorCount() returns 0 whenever /proc/cpuinfo can't be read
or doesn't parse, which is SIGFPE during static init of the cpu_info global - before
anything could handle it. The existing <= 0 guard sat after the division.

314 pspautotests pass; frametests show the same 3 pre-existing failures as master.
2026-08-31 12:15:50 +02:00
Henrik Rydgård 61e76fcf68 Add the ability to hide adhoc servers using a "hidden" entry in the json.
Useful when servers are temporarily down.
2026-04-23 11:12:58 +02:00
Henrik Rydgård 05b82d6ce4 Allow passing in a custom resolver to HTTPRequest and Connection. This inverts the bad dependency. 2025-08-06 00:16:34 +02:00
kotcrab c729390566 Clean up ImStructViewer, GhidraClient code style 2025-02-06 08:13:52 +01:00
kotcrab bf0b8b59a5 Various struct viewer fixes and improvements
- Can't add multiple watches at once from globals
- Removing watch incorrectly affects tree state
- Fix formatting bitfield enum member with 0 value
- Better formatting for non bitfield enums
- More accurate setup instructions
- Improved UI for setting number of pointer elements
- Chunked display for large arrays and pointers
2024-11-23 10:57:42 +01:00
kotcrab e3e831851b Add GhidraClient and ImStructViewer docs
Few more code comments and misc clean up
2024-11-19 00:15:14 +01:00
kotcrab f9d7e426f8 Support copy address and value in Struct viewer
Reorganize add breakpoint menu
Style fixes
2024-11-15 19:55:55 +01:00
kotcrab fdf8ff7d94 Add GhidraClient 2024-11-15 19:52:14 +01:00