apetag: fix the amount of data read from binary tags.

Substract the filename size from the data size.
This commit is contained in:
Anton Khirnov 2012-06-26 18:54:00 +02:00
parent f2e175c756
commit b72767df8e

View File

@ -59,7 +59,12 @@ static int ape_tag_read_field(AVFormatContext *s)
AVStream *st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);
avio_get_str(pb, size, filename, sizeof(filename));
size -= avio_get_str(pb, size, filename, sizeof(filename));
if (size <= 0) {
av_log(s, AV_LOG_WARNING, "Skipping binary tag '%s'.\n", key);
return 0;
}
st->codec->extradata = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!st->codec->extradata)
return AVERROR(ENOMEM);