summaryrefslogtreecommitdiff
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-05-10 17:36:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-05-10 17:36:49 +0200
commit8ea5df4fac57acf8a6e8cf575502ccd3dd776f57 (patch)
tree0f1adf80602f5c8de1cb98fd1dd3da126f7cc74c /libavcodec/utils.c
parent91e72e35141f590c38985ad0ae3453a4e9e86b8a (diff)
downloadffmpeg-8ea5df4fac57acf8a6e8cf575502ccd3dd776f57.tar.gz
lavc/utils: fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r--libavcodec/utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index c915de6a06..223dd3c063 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2070,8 +2070,8 @@ int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
bps = av_get_exact_bits_per_sample(avctx->codec_id);
/* codecs with an exact constant bits per sample */
- if (bps > 0 && ch > 0 && frame_bytes > 0)
- return (frame_bytes * 8) / (bps * ch);
+ if (bps > 0 && ch > 0 && frame_bytes > 0 && ch < 32768 && bps < 32768)
+ return (frame_bytes * 8LL) / (bps * ch);
bps = avctx->bits_per_coded_sample;
/* codecs with a fixed packet duration */