Commit Graph
201 Commits
Author SHA1 Message Date
Henrik Rydgård 9b9083d3e5 Fix for headless port problem by Claude 2026-08-16 23:09:12 +02:00
Henrik Rydgård 4d8a5d74e7 Merge pull request #22086 from hrydgard/read-u32-more
Some fixes to Claude's paranoia, more memory access function cleanup
2026-08-11 23:52:17 +02:00
Henrik Rydgård 04ef18a9d9 Send the crash dump output to the debug output stream in headless. This makes it so that crash-failed test output will contain crash details.
Also fix some warnings and stuff.
2026-08-11 22:36:47 +02:00
Henrik Rydgård cd052ea640 Adjust the level of Claude-based paranoia here and there 2026-08-11 20:08:01 +02:00
Nemoumbra 2c7d4c5613 Small HTTPClient cleanup 2026-08-11 04:12:46 +03:00
Nemoumbra c797ac200c Fixed IPv6 formatting 2026-08-11 04:02:16 +03:00
Nemoumbra c4fab7d1dc Removed unnecessary waiting 2026-08-11 03:50:48 +03:00
Henrik Rydgård feefbfcba0 Apply Nemo's feedback 2026-08-10 11:29:02 +02:00
Henrik RydgårdandClaude Sonnet 5 df751d5571 URL/VFS: fix latent pointer/index UB on empty or tiny input
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
2026-08-10 11:26:39 +02:00
Henrik RydgårdandClaude Sonnet 5 37cea65e0e WebsocketServer: cap message size, avoid UB on empty-vector payloads
ReadFrame() accepted a 64-bit client-supplied payload length with only
a top-bit check, and ReadPending() immediately resized a buffer by it
before any data had arrived - a single frame claiming a huge length
(reachable via the WebSocket debugger endpoint) could trigger a
multi-exabyte allocation attempt. Now rejected up front (both the
single frame and the fragmented-message total) against a 64MB cap.

Also replaced &payload[0]/&vector[0] with .data() in the send/receive
paths - operator[] on a possibly-empty vector (e.g. an empty PING) is
UB even when the result is never dereferenced.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY
2026-08-10 11:26:24 +02:00
Henrik RydgårdandClaude Sonnet 5 99ab8b81ca HTTPHeaders: fix OOB alloc from a request line with no trailing space
ParseHttpHeader() used strchr(buffer, ' ') unconditionally as endptr,
even though the parser explicitly supports HTTP/0.9-style requests
with no trailing space/version (type = SIMPLE). A request line like
"GET /" with no space made strchr return null, and nullptr - buffer
truncated to a garbage length driving new[]/memcpy. Falls back to the
end of the line when no space is found, and clamps param_length to
avoid a similar issue when '?' appears after the (missing) space.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY
2026-08-10 11:26:24 +02:00
Henrik Rydgård a7b96ce7e0 Add the error flag to OutputSink as well. 2026-08-10 10:08:13 +02:00
Henrik Rydgård 0a1821f5d8 InputSink: Add an error flag. OutputSink: Unify the error handling between unix and Windows 2026-08-10 10:04:21 +02:00
Henrik Rydgård 933751e2a9 Windows: Avoid POSIX error codes leaking into our WSA socket error codes 2026-08-10 10:04:21 +02:00
Henrik Rydgård 82a3ef31b1 InputSink: Inline AccountFill into Fill 2026-08-10 10:04:21 +02:00
Henrik Rydgård abb57c620f Adjust some log levels 2026-08-09 22:10:54 +02:00
Henrik Rydgård d31b475bb2 Minor fixes in Common/Net from Nemo's writeup 2026-08-09 19:03:28 +02:00
Henrik Rydgård 3504be26b0 More DNS fixes by copilot, additionally fixed up by claude 2026-08-07 08:49:29 +02:00
Henrik Rydgård 798ba7f79d Fix some bugs in Resolve.cpp 2026-08-07 08:49:29 +02:00
Henrik Rydgård 96ae36b7dd Fix some comments, remove redundant fields etc 2026-06-13 17:44:26 +02:00
Henrik Rydgård 2604e169e1 Make progress optional in some function to avoid flouting convention 2026-06-13 17:18:35 +02:00
Henrik Rydgård 00126e4c6f Correct some logging categories 2026-06-13 17:12:16 +02:00
Henrik Rydgård 433defee9a Address some more freedback in HTTPRequest 2026-06-13 15:21:05 +02:00
Henrik Rydgård 95ce95e489 Add a new "Net" log category, do assorted cleanup 2026-06-13 14:43:59 +02:00
Henrik Rydgård e8a1638c8d Cleanup 2026-06-09 23:49:54 +02:00
Nemoumbra 1aac66a1e4 More helpful error logs for the input sink 2026-05-12 03:31:49 +03:00
Henrik Rydgård d4bd7c604c Move a utility function 2026-05-05 15:36:30 +02:00
Henrik Rydgård e0a5a3e2bf iOS: Add basic deep link support.
Fixes #21577
2026-04-28 22:17:24 +02:00
Henrik Rydgård 8c8dd0f0d0 Add utility function to snoop the file cache 2026-03-09 10:40:51 +01:00
Henrik Rydgård 71d884379d Fix a potential race condition 2026-03-09 00:51:39 +01:00
Henrik Rydgård 53f1f57bbc Crashfix in Resolve.cpp, fix some bad return values 2026-03-09 00:21:56 +01:00
Henrik Rydgård 1a95e9e4e9 Fetch the public adhoc server list from metadata.ppsspp.org/adhoc-servers.json 2026-03-06 13:25:07 +01:00
Henrik Rydgård cc49e5079d Refactor a bit, preparing for async download 2026-03-05 14:30:32 +01:00
Henrik Rydgård 0d8358827b Move the pre-loaded adhoc server address list logic to sceNetAdhoc.cpp
Yes, that file is growing too big...
2026-03-05 10:05:08 +01:00
Henrik Rydgård 3a7911407b Assorted minor cleanups 2026-01-19 15:47:40 +01:00
MMaZaHaKa aa350b3082 upd proAdhoc 2026-01-16 06:17:03 +02:00
Henrik Rydgård d2c9104eff Polish and fixes to the upload form. 2025-10-27 12:20:24 +01:00
Henrik Rydgård 9abd8c21e1 Finish implementing the multipart protocol, now multi file uploads work without corruption. 2025-10-27 12:20:24 +01:00
Henrik Rydgård dc682fb2c8 Basic upload via web browser support, only single file almost works 2025-10-27 12:20:24 +01:00
Henrik Rydgård c686d48268 Add prototype Upload screen and a couple new icons. Some refactoring. 2025-10-27 12:20:20 +01:00
Henrik Rydgård 28b9bc2fb3 Make more dev screens usable in portrait by converting them to TabbedDialogScreen 2025-10-23 15:33:09 +02:00
Henrik Rydgård d43b1d4618 String function cleanup 2025-08-31 14:45:41 +02:00
Henrik Rydgård 9218fe9b59 Rework the shutdown logic in the OpenGL backend. Eliminated race conditions. 2025-08-31 10:57:06 +02:00
oltolm 3fd86d959b fix compiler warnings 2025-08-24 21:30:43 +02:00
Henrik Rydgård f6050a442c Fix serving the remote debugger locally, add a setting for the auto-launcher 2025-08-24 11:17:19 +02:00
Henrik Rydgård 9a50fa4834 Merge pull request #20719 from hrydgard/more-misc
ImDebugger: Add a basic watch window
2025-08-17 10:24:14 +02:00
Henrik Rydgård f31a8f08ec HTTP error logging fixes 2025-08-15 18:08:41 +02:00
Henrik Rydgård 60608b2b39 Allow customizing the proAdhoc server list by editing the ini 2025-08-15 16:35:25 +02:00
Henrik Rydgård 038f1a139e Implement save state deletion in the save state popup screen
Fixes #16223
2025-08-15 15:49:03 +02:00
Henrik Rydgård 5e05a6d0ac Get rid of some more backward Common/Core dependencies 2025-08-06 00:16:35 +02:00