diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-12-06 17:12:49 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-12-06 17:12:49 +0100 |
commit | c149f67e9b5b4e3b9061e271e75d441bacfa81c6 (patch) | |
tree | 08cb062542d0194de4c4bc1db73636a10f34b841 /libavformat/apetag.c | |
parent | 7ad742b2247a0d6f742a656892b4963fa77744dd (diff) | |
download | ffmpeg-c149f67e9b5b4e3b9061e271e75d441bacfa81c6.tar.gz |
avformat/apetag: More completely check avio_get_str() return value
This is not needed but its more proper to check the return value
Fixes CID1041122
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/apetag.c')
-rw-r--r-- | libavformat/apetag.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libavformat/apetag.c b/libavformat/apetag.c index c8d1bdca5a..258bdaa1b6 100644 --- a/libavformat/apetag.c +++ b/libavformat/apetag.c @@ -62,15 +62,19 @@ static int ape_tag_read_field(AVFormatContext *s) if (flags & APE_TAG_FLAG_IS_BINARY) { uint8_t filename[1024]; enum AVCodecID id; + int ret; AVStream *st = avformat_new_stream(s, NULL); if (!st) return AVERROR(ENOMEM); - size -= avio_get_str(pb, size, filename, sizeof(filename)); - if (size <= 0) { + ret = avio_get_str(pb, size, filename, sizeof(filename)); + if (ret < 0) + return ret; + if (size <= ret) { av_log(s, AV_LOG_WARNING, "Skipping binary tag '%s'.\n", key); return 0; } + size -= ret; av_dict_set(&st->metadata, key, filename, 0); |