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 <[email protected]> --- libavutil/audioconvert.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c index 52656c7..e9f9e41 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) -- 1.7.7.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
