mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs (#3542)
* Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs Fixes #3332
This commit is contained in:
		
							parent
							
								
									327ad8bcce
								
							
						
					
					
						commit
						e2c5666883
					
				
					 2 changed files with 11 additions and 5 deletions
				
			
		|  | @ -456,6 +456,8 @@ void Module::ScanForTitles(Service::FS::MediaType media_type) { | |||
|     for (const FileUtil::FSTEntry& tid_high : entries.children) { | ||||
|         for (const FileUtil::FSTEntry& tid_low : tid_high.children) { | ||||
|             std::string tid_string = tid_high.virtualName + tid_low.virtualName; | ||||
| 
 | ||||
|             if (tid_string.length() == TITLE_ID_VALID_LENGTH) { | ||||
|                 u64 tid = std::stoull(tid_string.c_str(), nullptr, 16); | ||||
| 
 | ||||
|                 FileSys::NCCHContainer container(GetTitleContentPath(media_type, tid)); | ||||
|  | @ -464,6 +466,7 @@ void Module::ScanForTitles(Service::FS::MediaType media_type) { | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void Module::ScanForAllTitles() { | ||||
|     ScanForTitles(Service::FS::MediaType::NAND); | ||||
|  |  | |||
|  | @ -52,7 +52,10 @@ enum class InstallStatus : u32 { | |||
|     ErrorEncrypted, | ||||
| }; | ||||
| 
 | ||||
| // Progress callback for InstallCIA, recieves bytes written and total bytes
 | ||||
| // Title ID valid length
 | ||||
| constexpr size_t TITLE_ID_VALID_LENGTH = 16; | ||||
| 
 | ||||
| // Progress callback for InstallCIA, receives bytes written and total bytes
 | ||||
| using ProgressCallback = void(size_t, size_t); | ||||
| 
 | ||||
| // A file handled returned for CIAs to be written into and subsequently installed.
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue