From ea56af88956061d700043c5c4b026ac57834b0c8 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 1 Jul 2019 01:45:36 +0200 Subject: [PATCH] lavc/zmbvenc: Do not left-shift negative values. Fixes the following ubsan errors with the sample from ticket #7980: libavcodec/zmbvenc.c:243:29: runtime error: left shift of negative value -4 libavcodec/zmbvenc.c:244:28: runtime error: left shift of negative value -2 --- libavcodec/zmbvenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c index 4887175..0e22ce6 100644 --- a/libavcodec/zmbvenc.c +++ b/libavcodec/zmbvenc.c @@ -240,8 +240,8 @@ FF_ENABLE_DEPRECATION_WARNINGS tprev = prev + x * c->bypp; zmbv_me(c, tsrc, p->linesize[0], tprev, c->pstride, x, y, &mx, &my, &xored); - mv[0] = (mx << 1) | !!xored; - mv[1] = my << 1; + mv[0] = (mx * 2) | !!xored; + mv[1] = my * 2; tprev += mx * c->bypp + my * c->pstride; if(xored){ for(j = 0; j < bh2; j++){ -- 2.7.4