aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2013-04-03 15:45:46 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-04-03 23:28:49 +0200
commit13cf445358a19d188a745e3d217297857021e406 (patch)
tree70cfb16ec90664a77a458b76a8b770736a2ff5e3
parent83d5871cf100b4e08ea0e4f5f191e87702561bf3 (diff)
downloadffmpeg-13cf445358a19d188a745e3d217297857021e406.tar.gz
Skip padding in an id3 tag in aiff files.
Fixes ticket #2430. Reviewed-by: Matthieu Bouron (cherry picked from commit db2d3a90825025b2f5da85792e1df33280c61391) Conflicts: libavformat/aiffdec.c
-rw-r--r--libavformat/aiffdec.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index 41fe0d2994..f5c752005f 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -191,7 +191,7 @@ static int aiff_probe(AVProbeData *p)
static int aiff_read_header(AVFormatContext *s)
{
int size, filesize;
- int64_t offset = 0;
+ int64_t offset = 0, position;
uint32_t tag;
unsigned version = AIFF_C_VERSION1;
AVIOContext *pb = s->pb;
@@ -235,8 +235,11 @@ static int aiff_read_header(AVFormatContext *s)
goto got_sound;
break;
case MKTAG('I', 'D', '3', ' '):
+ position = avio_tell(pb);
ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
ff_id3v2_free_extra_meta(&id3v2_extra_meta);
+ if (position + size > avio_tell(pb))
+ avio_skip(pb, position + size - avio_tell(pb));
break;
case MKTAG('F', 'V', 'E', 'R'): /* Version chunk */
version = avio_rb32(pb);