mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:42:44 +00:00 
			
		
		
		
	LibAudio: Remove redundant checks in WavLoader
- Max size of a wav is u32::MAX, so file/data size will never be larger
This commit is contained in:
		
							parent
							
								
									ac6af51549
								
							
						
					
					
						commit
						b10c87d31e
					
				
					 1 changed files with 1 additions and 5 deletions
				
			
		|  | @ -18,8 +18,6 @@ | ||||||
| 
 | 
 | ||||||
| namespace Audio { | namespace Audio { | ||||||
| 
 | 
 | ||||||
| static constexpr size_t const maximum_wav_size = 1 * GiB; // FIXME: is there a more appropriate size limit?
 |  | ||||||
| 
 |  | ||||||
| WavLoaderPlugin::WavLoaderPlugin(NonnullOwnPtr<SeekableStream> stream) | WavLoaderPlugin::WavLoaderPlugin(NonnullOwnPtr<SeekableStream> stream) | ||||||
|     : LoaderPlugin(move(stream)) |     : LoaderPlugin(move(stream)) | ||||||
| { | { | ||||||
|  | @ -194,8 +192,7 @@ MaybeLoaderError WavLoaderPlugin::parse_header() | ||||||
|     auto riff = TRY(m_stream->read_value<RIFF::ChunkID>()); |     auto riff = TRY(m_stream->read_value<RIFF::ChunkID>()); | ||||||
|     CHECK(riff == RIFF::riff_magic, LoaderError::Category::Format, "RIFF header magic invalid"); |     CHECK(riff == RIFF::riff_magic, LoaderError::Category::Format, "RIFF header magic invalid"); | ||||||
| 
 | 
 | ||||||
|     u32 size = TRY(m_stream->read_value<LittleEndian<u32>>()); |     TRY(m_stream->read_value<LittleEndian<u32>>()); // File size header
 | ||||||
|     CHECK(size < maximum_wav_size, LoaderError::Category::Format, "File size too large"); |  | ||||||
| 
 | 
 | ||||||
|     auto wave = TRY(m_stream->read_value<RIFF::ChunkID>()); |     auto wave = TRY(m_stream->read_value<RIFF::ChunkID>()); | ||||||
|     CHECK(wave == RIFF::wave_subformat_id, LoaderError::Category::Format, "WAVE subformat id invalid"); |     CHECK(wave == RIFF::wave_subformat_id, LoaderError::Category::Format, "WAVE subformat id invalid"); | ||||||
|  | @ -292,7 +289,6 @@ MaybeLoaderError WavLoaderPlugin::parse_header() | ||||||
| 
 | 
 | ||||||
|     u32 data_size = TRY(m_stream->read_value<LittleEndian<u32>>()); |     u32 data_size = TRY(m_stream->read_value<LittleEndian<u32>>()); | ||||||
|     CHECK(found_data, LoaderError::Category::Format, "Found no data chunk"); |     CHECK(found_data, LoaderError::Category::Format, "Found no data chunk"); | ||||||
|     CHECK(data_size < maximum_wav_size, LoaderError::Category::Format, "Data too large"); |  | ||||||
| 
 | 
 | ||||||
|     m_total_samples = data_size / block_size_bytes; |     m_total_samples = data_size / block_size_bytes; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Daniel
						Daniel