From 019dd2365729d44d66a5b629102e1ecb919f4f67 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Fri, 25 Nov 2011 14:58:50 +0000 Subject: [PATCH] Fix av_get_channel_layout_string() for positions >31 A value shifted left by >31 needs to have a 64-bit type. As there are no defined channels in this range, the fix is purely theoretical at this point, although it does avoid some invalid shifts triggering the overflow checker. Signed-off-by: Mans Rullgard --- libavutil/audioconvert.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c index 52656c7302..e9f9e411aa 100644 --- a/libavutil/audioconvert.c +++ b/libavutil/audioconvert.c @@ -109,7 +109,7 @@ void av_get_channel_layout_string(char *buf, int buf_size, int i, ch; av_strlcat(buf, " (", buf_size); for (i = 0, ch = 0; i < 64; i++) { - if ((channel_layout & (1L << i))) { + if ((channel_layout & (UINT64_C(1) << i))) { const char *name = get_channel_name(i); if (name) { if (ch > 0)