mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
ConfigInfo::thisSize and ResourceInfo::thisSize are 64-bit, so read them as std::uint64_t in CreateDecoder and QueryResourceInfo. Decode, Flush, DeleteDecoder and Reset now read and check each thisSize before copying the whole structure in, so a short structure at the end of a mapped page gets the struct size error, not the pointer error. CreateDecoder no longer writes ctrl before it can fail; the copy-out after creation already cleans up. The debt entry now says that the console's answer for an unreadable pointer is not measured. Tests cover size fields with only their upper bits set, short structures at the end of a page, an untouched ctrl after a failed create, and read-only output blocks. Co-authored-by: fogydes <[email protected]>