From f939f05304e447f2279adc7d55818d85157a879d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 30 Jan 2017 12:35:04 +0200 Subject: [PATCH] audio-resampler: Fix integer overflow in clamping code https://bugzilla.gnome.org/show_bug.cgi?id=777921 --- gst-libs/gst/audio/audio-resampler-x86-sse41.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/audio/audio-resampler-x86-sse41.c b/gst-libs/gst/audio/audio-resampler-x86-sse41.c index ce1cc24180..a14ca1008d 100644 --- a/gst-libs/gst/audio/audio-resampler-x86-sse41.c +++ b/gst-libs/gst/audio/audio-resampler-x86-sse41.c @@ -70,7 +70,7 @@ inner_product_gint32_full_1_sse41 (gint32 * o, const gint32 * a, res = _mm_cvtsi128_si64 (sum); res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32; - *o = CLAMP (res, -(1L << 31), (1L << 31) - 1); + *o = CLAMP (res, G_MININT32, G_MAXINT32); } static inline void @@ -113,7 +113,7 @@ inner_product_gint32_linear_1_sse41 (gint32 * o, const gint32 * a, res = _mm_cvtsi128_si64 (sum[0]); res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32; - *o = CLAMP (res, -(1L << 31), (1L << 31) - 1); + *o = CLAMP (res, G_MININT32, G_MAXINT32); } static inline void @@ -178,7 +178,7 @@ inner_product_gint32_cubic_1_sse41 (gint32 * o, const gint32 * a, res = _mm_cvtsi128_si64 (sum[0]); res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32; - *o = CLAMP (res, -(1L << 31), (1L << 31) - 1); + *o = CLAMP (res, G_MININT32, G_MAXINT32); } MAKE_RESAMPLE_FUNC (gint32, full, 1, sse41);