You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
pngdec: check if previous frame exists instead of trusting sequence_number
This fixes a segmentation fault caused by calling memcpy with NULL as second argument in handle_p_frame_apng. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
@@ -922,7 +922,8 @@ static int decode_fctl_chunk(AVCodecContext *avctx, PNGDecContext *s,
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sequence_number == 0 && dispose_op == APNG_DISPOSE_OP_PREVIOUS) {
|
if ((sequence_number == 0 || !s->previous_picture.f->data[0]) &&
|
||||||
|
dispose_op == APNG_DISPOSE_OP_PREVIOUS) {
|
||||||
// No previous frame to revert to for the first frame
|
// No previous frame to revert to for the first frame
|
||||||
// Spec says to just treat it as a APNG_DISPOSE_OP_BACKGROUND
|
// Spec says to just treat it as a APNG_DISPOSE_OP_BACKGROUND
|
||||||
dispose_op = APNG_DISPOSE_OP_BACKGROUND;
|
dispose_op = APNG_DISPOSE_OP_BACKGROUND;
|
||||||
|
Reference in New Issue
Block a user