From 6463ff198e8c106b8ceba7405777327e1beabd41 Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Thu, 12 Nov 2015 12:21:54 +0000 Subject: opusenc: avoid potential overflow expression The result of the two expressions will be promoted to guint64 anyway, perform all the arithmetic in 64 bits to avoid potential overflows. CID 1338690, CID 1338691 --- ext/opus/gstopusenc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c index 729b2150c..d4a685adc 100644 --- a/ext/opus/gstopusenc.c +++ b/ext/opus/gstopusenc.c @@ -1007,7 +1007,7 @@ gst_opus_enc_encode (GstOpusEnc * enc, GstBuffer * buf) trim_start = enc->pending_lookahead; enc->pending_lookahead = 0; } else { - trim_start = input_samples * 48000 / enc->sample_rate; + trim_start = ((guint64) input_samples) * 48000 / enc->sample_rate; enc->pending_lookahead -= trim_start; output_samples = 0; } @@ -1026,7 +1026,8 @@ gst_opus_enc_encode (GstOpusEnc * enc, GstBuffer * buf) output_samples = enc->consumed_samples - enc->encoded_samples; input_samples = 0; GST_DEBUG_OBJECT (enc, "draining %d samples", output_samples); - trim_end = (frame_samples - output_samples) * 48000 / enc->sample_rate; + trim_end = + ((guint64) frame_samples - output_samples) * 48000 / enc->sample_rate; } else if (enc->encoded_samples == enc->consumed_samples) { GST_DEBUG_OBJECT (enc, "nothing to drain"); goto done; -- cgit v1.2.1