Henrik Rydgård and Claude 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ård and Claude Sonnet 5
6ee6641fe5
ZipFileReader: guard against implausible/overflowing declared sizes
...
ReadFile()/ReadSingleFileFromZip() allocated/resized directly off a
zip entry's declared uncompressed size with no sanity check. A
crafted size near UINT64_MAX would wrap ReadFile()'s "size + 1" to 0,
allocating almost nothing while zip_fread() still writes the full
declared size into it - a length-field-driven heap overflow from a
malicious zip/texture pack. Both now reject entries above a generous
4GB cap. Also fixes GetFileInfo() reading zstat.name[strlen(name)-1]
unchecked, which underflows to SIZE_MAX for a zero-length entry name.
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
092ab42fe7
Clean up ugly usage of the g_nativeLibDir global. Now it's local in VulkanLoader.
2026-08-06 18:12:04 +02:00
Henrik Rydgård
551e4cd0ab
Headless: Make all GPU backends work correctly on Windows
2026-08-05 00:15:56 +02:00
Henrik Rydgård
e30b90e709
Quiet and improve some logs
2026-07-27 18:37:28 +02:00
Henrik Rydgård
4bf36fc7f8
Add command line option --vsh to try to boot the VSH. Logspam reduction, improve printf logs.
2026-07-27 14:58:59 +02:00
Henrik Rydgård
8cfd63b86d
Apple buildfix
2026-07-24 22:47:29 +02:00
Henrik Rydgård
7600ec42dd
PathBrowser: Rework synchronization. Remove unused enum value in LaunchUrlType.
2026-05-10 23:41:39 +02:00
Henrik Rydgård
0a0b4b9d95
Make opening 7z file android-compatible. Assorted buildfixes.
2026-03-27 14:34:18 -06:00
Henrik Rydgård
288b72cb16
Add 7z streaming support, so we can have a progress bar
2026-03-27 14:34:18 -06:00
Henrik Rydgård
5e0a9a0113
Add really simple 7z extraction, using the 7z VFS
2026-03-27 14:34:18 -06:00
Henrik Rydgård
0c077acc74
Do some include untangling, to limit the spread of the Windows.h include from SevenZipFileReader.h
2026-03-27 14:34:18 -06:00
Henrik Rydgård
8380e13f10
Add AI-generated SevenZipFileReader
2026-03-27 14:34:18 -06:00
Henrik Rydgård
116c31e7d9
Add the LZMA sdk
2026-03-27 14:34:15 -06:00
Henrik Rydgård
d596e43b4b
Android: Scale down selected background images when too large. Fix activity issue.
2026-03-08 14:53:20 +01:00
Henrik Rydgård
a2de96a4d1
iOS: Try to avoid leaking file bookmarks. Don't try to install zips into iCloud folder.
2026-03-08 10:20:24 +01:00
Henrik Rydgård
e8d648e91d
InstallZip: Fix problem where the delete-after option didn't work
...
The file was held open.
2026-03-06 10:57:22 +01:00
Henrik Rydgård
8f138a76f6
Small refactor in DirListing.cpp
2026-02-23 14:22:30 +01:00
Henrik Rydgård
16a79e12b6
Scrollview: Disallow scrolling with mouse buttons other than the first.
...
Some logging cleanup
2026-02-23 11:48:11 +01:00
Henrik Rydgård
aa750157c9
Add support for high-precision file timestamps on Windows
2026-02-23 11:17:47 +01:00
Henrik Rydgård
dac2407a36
sceIo: Add support for microseconds in filetimes (not implemented in platforms yet)
2026-02-23 11:04:17 +01:00
Henrik Rydgård
5a5c7028b9
Assorted warning fixes and data initialization to please valgrind
2026-02-19 11:24:46 +01:00
Henrik Rydgård
2c0bdcf678
InstallZipScreen improvements, small cleanup
2026-02-10 11:34:59 +01:00
Henrik Rydgård
4ccd41110b
Correctly do the VFS refactor that I tried to do in #21218
...
See #21218
2026-02-09 13:08:44 +01:00
Henrik Rydgård
dd648b596c
Revert "VFS: Remove some code duplication" (logic bug)
...
This reverts commit f257ad4f7f .
2026-02-08 18:44:48 +01:00
Henrik Rydgård
f257ad4f7f
VFS: Remove some code duplication
2026-02-08 00:53:50 +01:00
Henrik Rydgård
dd28f75852
Buildfixes
2026-02-07 12:03:44 +01:00
Henrik Rydgård
e0a09a8733
Prevent bad noise when dragging volume slider
2026-02-06 14:45:23 +01:00
Henrik Rydgård
b1fa6b4671
Remove some uses of textScale
2026-02-06 14:30:47 +01:00
Henrik Rydgård
de702ced45
Use std::string_view in VFS
2026-02-06 13:22:35 +01:00
Henrik Rydgård
f8077347e4
FileSystems: Change multiple internal functions to take std::string_view
2026-02-06 12:31:49 +01:00
Henrik Rydgård
35da931fb3
Minor libretro vfs logging improvements
...
See #21140
2026-01-22 09:12:19 +01:00
Henrik Rydgård
3f3b353350
Merge pull request #21092 from white-axe/libretro-vfs
...
Use the libretro VFS interface in libretro builds
2026-01-10 16:36:01 +01:00
刘皓
a950879dd5
Don't use lseek64() in FileUtil.cpp
2026-01-09 11:46:12 -05:00
Henrik Rydgård
884d3c46d5
Rework listing of savestates - a single scan operation instead of lots of File::Exists and ModTime calls.
...
Needed to improve scalability on Android for when we increase the number
of states.
2026-01-09 11:17:21 +01:00
Henrik Rydgård
e6e82c9ad3
Add java-side prefix filtering for ContentUri directory listing
2026-01-09 10:12:15 +01:00
刘皓
e72f288a7b
Flush FILE buffers before using lseek64()
2026-01-09 00:54:51 -05:00
Henrik Rydgård
e33ff46ffd
Extract the rewind code from SaveState.cpp, to make it more managable.
2026-01-08 22:22:46 +01:00
刘皓
0b3cf1de8d
Check that source is non-null before attempting to use it in the ZipContainer constructor
2026-01-08 11:59:12 -05:00
刘皓
37047106f3
Fix the Fseek() and Fseektell() implementation when using the libretro VFS
2026-01-08 11:55:13 -05:00
刘皓
17acfe31a3
Fix several problems with ZipContainer in Common/File/VFS/ZipFileReader.cpp
2026-01-02 14:25:13 -05:00
刘皓
d56e685f83
Mark LibretroMkdirCallback in Common/File/FileUtil.cpp as static
2026-01-02 12:52:38 -05:00
刘皓
76bcbda42a
Fix some small mistakes in Common/File/FileUtil.cpp
2026-01-02 12:06:40 -05:00
刘皓
5716cbd41d
Use the libretro VFS interface in libretro builds
2026-01-01 00:24:01 -05:00
Henrik Rydgård
b8fced5b41
Path code cleanup, move some UI code ( #21037 )
...
* Move a bunch of path logic into Core/Util/PathUtil.cpp/h
.
* Move GameImageView out from SaveDataScreen
* More cleanup, add a translation string
2025-11-25 00:44:24 +01:00
Henrik Rydgård
cfe807baed
Android refactor: Move all contentUri utilities to the new class ContentUri
2025-11-06 23:44:55 +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
52c4c31508
Runtime atlas generation
2025-09-17 09:49:54 -06:00
Henrik Rydgård
073ef61643
Merge the two functions, fix JNI lifetime issues
...
Fixes the last part of #10885 finally.
2025-09-05 10:31:51 +02:00
Henrik Rydgård
2a7dad43c6
WIP: Turn the methods into static methods.
2025-09-05 10:31:27 +02:00