You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	jpeg2000: fix for uninitialized data errors in valgrind/memcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
				
					committed by
					
						 Michael Niedermayer
						Michael Niedermayer
					
				
			
			
				
	
			
			
			
						parent
						
							108e2ae829
						
					
				
				
					commit
					a06f0cef5b
				
			| @@ -635,7 +635,14 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, | ||||
|             Jpeg2000Cblk *cblk = prec->cblk + cblkno; | ||||
|             if (s->buf_end - s->buf < cblk->lengthinc) | ||||
|                 return AVERROR(EINVAL); | ||||
|             bytestream_get_buffer(&s->buf, cblk->data, cblk->lengthinc); | ||||
|             /* A code-block data can be empty. In that case initialize data | ||||
|              * with 0xffff. */ | ||||
|             if (cblk->lengthinc > 0) | ||||
|                 bytestream_get_buffer(&s->buf, cblk->data, cblk->lengthinc); | ||||
|             else { | ||||
|                 cblk->data[0] = 0xff; | ||||
|                 cblk->data[1] = 0xff; | ||||
|             } | ||||
|             cblk->length   += cblk->lengthinc; | ||||
|             cblk->lengthinc = 0; | ||||
|         } | ||||
| @@ -853,12 +860,15 @@ static int decode_cblk(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty, | ||||
| { | ||||
|     int passno = cblk->npasses, pass_t = 2, bpno = cblk->nonzerobits - 1, y; | ||||
|  | ||||
|     for (y = 0; y < height + 2; y++) | ||||
|         memset(t1->flags[y], 0, (width + 2) * sizeof(width)); | ||||
|  | ||||
|     for (y = 0; y < height; y++) | ||||
|         memset(t1->data[y], 0, width * sizeof(width)); | ||||
|  | ||||
|     /* If code-block contains no compressed data: nothing to do. */ | ||||
|     if (cblk->length == 0) | ||||
|         return 0; | ||||
|     for (y = 0; y < height + 2; y++) | ||||
|         memset(t1->flags[y], 0, (width + 2) * sizeof(width)); | ||||
|  | ||||
|     ff_mqc_initdec(&t1->mqc, cblk->data); | ||||
|     cblk->data[cblk->length]     = 0xff; | ||||
|     cblk->data[cblk->length + 1] = 0xff; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user