diff options
Diffstat (limited to 'libavformat/riffdec.c')
-rw-r--r-- | libavformat/riffdec.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c index c1e9ec1..48c9a94 100644 --- a/libavformat/riffdec.c +++ b/libavformat/riffdec.c @@ -29,11 +29,14 @@ #include "avio_internal.h" #include "riff.h" -void ff_get_guid(AVIOContext *s, ff_asf_guid *g) +int ff_get_guid(AVIOContext *s, ff_asf_guid *g) { av_assert0(sizeof(*g) == 16); //compiler will optimize this out - if (avio_read(s, *g, sizeof(*g)) < (int)sizeof(*g)) + if (avio_read(s, *g, sizeof(*g)) < (int)sizeof(*g)) { memset(*g, 0, sizeof(*g)); + return AVERROR_INVALIDDATA; + } + return 0; } enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid) |