diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 9e7a39c4edcf23b9cc1c16e8ca82f35d82ca7cef..3bbe4a07bd6844d5130f4ae16130fd966b95bd28 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -330,10 +330,14 @@ static int aiff_read_header(AVFormatContext *s) if (offset > 0 && st->codecpar->block_align) // COMM && SSND goto got_sound; default: /* Jump */ - if (size & 1) /* Always even aligned */ - size++; avio_skip(pb, size); } + + /* Skip required padding byte for odd-sized chunks. */ + if (size & 1) { + filesize--; + avio_skip(pb, 1); + } } got_sound: