diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-08-19 10:28:22 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-09-05 01:01:35 +0200 |
commit | ca92adafb0effac6c51a12f90a593ba7e8b3ee90 (patch) | |
tree | 6ea868c56bcf8b576afe62554b0d689bd3b7829e | |
parent | 815a4439c38489cabf7554ba3c722c135a700db3 (diff) | |
download | ffmpeg-ca92adafb0effac6c51a12f90a593ba7e8b3ee90.tar.gz |
avformat/swfdec: Fix inflate() error code check
Fixes infinite loop
Fixes endless.poc
Found-by: 连一汉 <lianyihan@360.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a453bbb68f3eec202673728988bba3bc76071761)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/swfdec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c index eb17e82e08..518ca1fcb9 100644 --- a/libavformat/swfdec.c +++ b/libavformat/swfdec.c @@ -119,10 +119,10 @@ retry: z->avail_out = buf_size; ret = inflate(z, Z_NO_FLUSH); - if (ret < 0) - return AVERROR(EINVAL); if (ret == Z_STREAM_END) return AVERROR_EOF; + if (ret != Z_OK) + return AVERROR(EINVAL); if (buf_size - z->avail_out == 0) goto retry; |