exr: compression attribute is mandatory
Do not continue decoding if one is missing. Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
		
							parent
							
								
									55de89e25d
								
							
						
					
					
						commit
						a2dab7512e
					
				@ -446,6 +446,11 @@ static int decode_frame(AVCodecContext *avctx,
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (s->compr == -1) {
 | 
				
			||||||
 | 
					        av_log(avctx, AV_LOG_ERROR, "Missing compression attribute\n");
 | 
				
			||||||
 | 
					        return AVERROR_INVALIDDATA;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (buf >= buf_end) {
 | 
					    if (buf >= buf_end) {
 | 
				
			||||||
        av_log(avctx, AV_LOG_ERROR, "Incomplete frame\n");
 | 
					        av_log(avctx, AV_LOG_ERROR, "Incomplete frame\n");
 | 
				
			||||||
        return AVERROR_INVALIDDATA;
 | 
					        return AVERROR_INVALIDDATA;
 | 
				
			||||||
@ -642,6 +647,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
 | 
				
			|||||||
    avcodec_get_frame_defaults(&s->picture);
 | 
					    avcodec_get_frame_defaults(&s->picture);
 | 
				
			||||||
    avctx->coded_frame = &s->picture;
 | 
					    avctx->coded_frame = &s->picture;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    s->compr = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user