xxan: fix invalid memory access in xan_decode_frame_type0()
The loop a few lines below the xan_unpack() call accesses up to dec_size * 2 bytes into y_buffer, so dec_size must be limited to buffer_size / 2. CC:libav-stable@libav.org
This commit is contained in:
		
							parent
							
								
									6c7d339afc
								
							
						
					
					
						commit
						8a49d2bcbe
					
				| @ -308,7 +308,7 @@ static int xan_decode_frame_type0(AVCodecContext *avctx) | |||||||
|         int dec_size; |         int dec_size; | ||||||
| 
 | 
 | ||||||
|         bytestream2_seek(&s->gb, 8 + corr_off, SEEK_SET); |         bytestream2_seek(&s->gb, 8 + corr_off, SEEK_SET); | ||||||
|         dec_size = xan_unpack(s, s->scratch_buffer, s->buffer_size); |         dec_size = xan_unpack(s, s->scratch_buffer, s->buffer_size / 2); | ||||||
|         if (dec_size < 0) |         if (dec_size < 0) | ||||||
|             dec_size = 0; |             dec_size = 0; | ||||||
|         for (i = 0; i < dec_size; i++) |         for (i = 0; i < dec_size; i++) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user