mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-08-31 17:55:23 +02:00
UriDecode() formed SRC_END - 2 unconditionally, a pointer before the start of the buffer (UB) for a 0- or 1-byte input. IsLocalAbsolutePath() indexed path[0]/path[1] on a std::string_view with no bounds check, UB for an empty path (path[0]) or a 1-byte path on Windows (path[1]). Neither was known to crash in practice, but both are real UB flagged by hardened/UBSan builds and easy to trigger (e.g. an empty query string, or listing the VFS root). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY