[FFmpeg-devel] [PATCH] lavfi/buffersink: cast to uint64_t before shifting.

Nicolas George george at nsup.org
Tue Sep 8 21:09:42 EEST 2020


Fix CID 1466666.

Signed-off-by: Nicolas George <george at nsup.org>
---
 libavfilter/buffersink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
index 9338969bf1..58848941d4 100644
--- a/libavfilter/buffersink.c
+++ b/libavfilter/buffersink.c
@@ -72,10 +72,10 @@ static void cleanup_redundant_layouts(AVFilterContext *ctx)
 
     for (i = 0; i < nb_counts; i++)
         if (buf->channel_counts[i] < 64)
-            counts |= 1 << buf->channel_counts[i];
+            counts |= (uint64_t)1 << buf->channel_counts[i];
     for (i = lc = 0; i < nb_layouts; i++) {
         n = av_get_channel_layout_nb_channels(buf->channel_layouts[i]);
-        if (n < 64 && (counts & (1 << n)))
+        if (n < 64 && (counts & ((uint64_t)1 << n)))
             av_log(ctx, AV_LOG_WARNING,
                    "Removing channel layout 0x%"PRIx64", redundant with %d channels\n",
                    buf->channel_layouts[i], n);
-- 
2.28.0



More information about the ffmpeg-devel mailing list