Files
ppsspp/Core
Henrik Rydgård eb68bdba0b BlockAllocator: fix null deref in GetBlockTag, bound DoState's block count
GetBlockTag() dereferenced GetBlockFromAddress()'s result without a
null check, unlike every other accessor in this file. Callers
(NetAdhocCommon.cpp, sceNet.cpp, sceNetAdhocMatching.cpp) pass the
result straight into strcmp() while recovering from a stale address
left over from an old/corrupted savestate - precisely the situation
where the address may no longer resolve to a block. Return "" instead
of dereferencing a null block, so strcmp() simply reports a mismatch
(correctly triggering those callers' recovery path) instead of
crashing.

DoState() read the saved block count directly from the savestate with
no validation before looping that many times allocating Blocks - a
corrupt/malicious savestate claiming an enormous count would drive an
effectively unbounded allocation loop. Clamp it to how many block
records could plausibly still fit in the remaining stream data.
2026-08-11 08:43:52 +02:00
..
2026-08-10 10:11:24 +02:00
2026-08-10 10:11:24 +02:00
2026-08-09 22:10:54 +02:00
2026-06-02 11:15:08 +02:00
…
2026-08-09 22:10:54 +02:00
2026-08-10 11:02:25 +02:00
2026-07-29 16:27:33 +02:00
2026-08-03 19:11:07 +02:00
2026-08-10 10:11:24 +02:00
2026-08-05 09:48:51 +02:00
2026-08-05 00:15:56 +02:00
2026-08-10 10:11:24 +02:00
…
2026-07-29 16:27:33 +02:00
…
2026-07-27 18:37:28 +02:00
2026-07-29 16:27:33 +02:00