diff options
-rw-r--r-- | libavformat/riffdec.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c index f44df1e672..a2bfb44719 100644 --- a/libavformat/riffdec.c +++ b/libavformat/riffdec.c @@ -31,10 +31,12 @@ int ff_get_guid(AVIOContext *s, ff_asf_guid *g) { + int ret; av_assert0(sizeof(*g) == 16); //compiler will optimize this out - if (avio_read(s, *g, sizeof(*g)) < (int)sizeof(*g)) { + ret = avio_read(s, *g, sizeof(*g)); + if (ret < (int)sizeof(*g)) { memset(*g, 0, sizeof(*g)); - return AVERROR_INVALIDDATA; + return ret < 0 ? ret : AVERROR_INVALIDDATA; } return 0; } |