dolphin/Source/Core/DiscIO
JosJuice 7b372db559 DiscIO: Only allow alphanumeric ASCII in game IDs
We often use game IDs in paths, so we should try to make sure path
traversal is impossible in game IDs. Admittedly, doing any kind of real
attack using the six bytes available in game IDs is unrealistic, but no
game ID should contain non-alphanumeric or non-ASCII characters anyway.

Might also fix https://bugs.dolphin-emu.org/issues/13982 by skipping
converting between encodings for game IDs.
2026-02-24 21:36:02 +01:00
..
Blob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
Blob.h DiscIO: Add IsCached virtual function to BlobReader. 2026-02-15 20:14:15 -06:00
CachedBlob.cpp DiscIO: Add IsCached virtual function to BlobReader. 2026-02-15 20:14:15 -06:00
CachedBlob.h DiscIO: Add CachedBlobReader which takes another BlobReader and reads it into memory in the background. 2025-11-23 05:17:22 -06:00
CISOBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
CISOBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
CMakeLists.txt Merge pull request #14174 from JoshuaVandaele/minizips-cmake 2025-12-22 13:36:52 -05:00
CompressedBlob.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
CompressedBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
DirectoryBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
DirectoryBlob.h Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
DiscExtractor.cpp Remove NKit data when extracting a GCN/Wii disc volume 2023-06-02 01:11:50 -05:00
DiscExtractor.h Remove unused imports 2026-01-25 16:12:15 +01:00
DiscScrubber.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
DiscScrubber.h Remove unused imports 2026-01-25 16:12:15 +01:00
DiscUtils.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
DiscUtils.h DiscIO: Remove redundant qualifiers 2025-04-22 13:54:10 +02:00
Enums.cpp Enums: Unhandled switch statement 2026-02-15 20:14:15 -06:00
Enums.h Added Triforce support 2026-02-15 20:14:14 -06:00
FileBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
FileBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
Filesystem.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Filesystem.h Remove unused imports 2026-01-25 16:12:15 +01:00
FileSystemGCWii.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
FileSystemGCWii.h Remove unused imports 2026-01-25 16:12:15 +01:00
GameModDescriptor.cpp DiscIO: Remove redundant qualifiers 2025-04-22 13:54:10 +02:00
GameModDescriptor.h Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
LaggedFibonacciGenerator.cpp Simplify std::copy with std::copy_n 2024-10-07 15:34:56 -07:00
LaggedFibonacciGenerator.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
MultithreadedCompressor.h Common: Replace Result with C++23's std::expected. 2026-01-17 16:58:45 -06:00
NANDImporter.cpp Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
NANDImporter.h DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
NFSBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
NFSBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
RiivolutionParser.cpp RiivolutionParser: Fix XML Param Parsing 2026-02-06 18:06:27 +01:00
RiivolutionParser.h DiscIO: Pass parameters by constant reference 2025-04-20 08:26:09 +02:00
RiivolutionPatcher.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
RiivolutionPatcher.h DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
ScrubbedBlob.cpp Added CopyReader to BlobReader and all subclasses 2023-10-01 09:04:06 -04:00
ScrubbedBlob.h DiscIO: Make classes final 2025-04-19 09:05:22 +02:00
SplitFileBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
SplitFileBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
TGCBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
TGCBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
Volume.cpp DiscIO: Only allow alphanumeric ASCII in game IDs 2026-02-24 21:36:02 +01:00
Volume.h DiscIO: Only allow alphanumeric ASCII in game IDs 2026-02-24 21:36:02 +01:00
VolumeDisc.cpp DiscIO: Only allow alphanumeric ASCII in game IDs 2026-02-24 21:36:02 +01:00
VolumeDisc.h Triforce: Code cleanups. 2026-02-15 20:14:14 -06:00
VolumeFileBlobReader.cpp VolumeFileBlobReader: Define default destructor in source file 2026-01-04 17:56:08 -08:00
VolumeFileBlobReader.h VolumeFileBlobReader: Define default destructor in source file 2026-01-04 17:56:08 -08:00
VolumeGC.cpp Triforce: Code cleanups. 2026-02-15 20:14:14 -06:00
VolumeGC.h Added Triforce support 2026-02-15 20:14:14 -06:00
VolumeVerifier.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
VolumeVerifier.h Add Triforce platform and preliminary boot.id parsing 2025-04-21 22:05:25 +10:00
VolumeWad.cpp DiscIO: Only allow alphanumeric ASCII in game IDs 2026-02-24 21:36:02 +01:00
VolumeWad.h DiscIO: Make classes final 2025-04-19 09:05:22 +02:00
VolumeWii.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
VolumeWii.h Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
WbfsBlob.cpp DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
WbfsBlob.h DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe. 2025-11-09 03:08:14 -06:00
WIABlob.cpp Merge pull request #14267 from jordan-woyak/std-expected 2026-01-17 22:33:15 -06:00
WIABlob.h Merge pull request #13539 from tygyh/DiscIO-Remove-redundant-casts 2025-11-19 17:40:42 -06:00
WIACompression.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
WIACompression.h Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
WiiEncryptionCache.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiEncryptionCache.h Remove unused imports 2026-01-25 16:12:15 +01:00
WiiSaveBanner.cpp Remove unused imports 2026-01-25 16:12:15 +01:00
WiiSaveBanner.h WiiSaveBanner: fall back to $userdir/Load/WiiBanners 2025-07-04 23:15:50 +01:00