mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Fix out of bounds array access when loading a component >= 12
This commit is contained in:
		
							parent
							
								
									82fc075ff6
								
							
						
					
					
						commit
						ed8072b48b
					
				@ -157,8 +157,11 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                // TODO: What happens if a loader overwrites a previous one's data?
 | 
					                // TODO: What happens if a loader overwrites a previous one's data?
 | 
				
			||||||
                for (unsigned component = 0; component < loader_config.component_count; ++component) {
 | 
					                for (unsigned component = 0; component < loader_config.component_count; ++component) {
 | 
				
			||||||
                    if (component >= 12)
 | 
					                    if (component >= 12) {
 | 
				
			||||||
                        LOG_ERROR(HW_GPU, "Overflow in the vertex attribute loader %u trying to load component %u", loader, component);
 | 
					                        LOG_ERROR(HW_GPU, "Overflow in the vertex attribute loader %u trying to load component %u", loader, component);
 | 
				
			||||||
 | 
					                        continue;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    u32 attribute_index = loader_config.GetComponent(component);
 | 
					                    u32 attribute_index = loader_config.GetComponent(component);
 | 
				
			||||||
                    if (attribute_index < 12) {
 | 
					                    if (attribute_index < 12) {
 | 
				
			||||||
                        vertex_attribute_sources[attribute_index] = load_address;
 | 
					                        vertex_attribute_sources[attribute_index] = load_address;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user