From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id B58B04B61C for ; Tue, 9 Jul 2024 20:19:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DB62168DCE4; Tue, 9 Jul 2024 23:19:17 +0300 (EEST) Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E60E368DB6B for ; Tue, 9 Jul 2024 23:19:10 +0300 (EEST) Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6b5dfa18db1so6033896d6.0 for ; Tue, 09 Jul 2024 13:19:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720556349; x=1721161149; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=QorJWON+9De0cNETNsY1RVbNMrh18SVjZlfFf38Yc9c=; b=d3kYr06lKhV5bYt+cEXfXl1rTF3gbGkxE2MIhimqJw+rQYXQBVpIGnDYdgsBrb5icf fFBsm1+0rG9S0R2CFvdpY76pqDjCDUXuBKGMe4EUxrpPJJDqIRza/LqQKcqgfk9/ZLFb AzYsaxuoi9aW2NIhbA9ejJTmtGDpidOys9UPz56sKIRFBydf1yLGGVe4TExwe72g+Saz fpAnC07zwvNmUSmbzzxfBtJ47chv4dN0R4V9UxmF0KJgBJyefcgzH7et8jBi7ePEyCG6 VVF6pZ4bUfop0xX0pKPAJRj4CCtBympJmA259e7zN6/KhUbDBA7Rwni8kZyAJEV64eu3 ysYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720556349; x=1721161149; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QorJWON+9De0cNETNsY1RVbNMrh18SVjZlfFf38Yc9c=; b=g6CsHqLnNDDJ005NP+daoU91/5qe6PTprUPqhAuByDF21zK5PQ10gpiw7CfUix9/Kg atuz+F8zDdX2B8vsd9cxaodl2p17J6cyDtfi/k0AvlBYliqal4SGGftVHVRuL035Opl5 yyKoCUlhnpP5D1/Q9JfonTgO6h4EeFILd2AQZqgo5J17tyCRwwKErWq4l/B6CJjErMlE 7i43ZP1tR4YTzCwmGPtvKRfa3qQd1LfsbwvPS5LP1jA0BnVTopjT+AcyjkkjVI59bmPO ouFG5n4QvambO7BIWExnZrLvgqZNcpW2MJ9kKfksO6ygUrWhcZ3xF0Zo7ITnHHDIk7Dv r+PA== X-Gm-Message-State: AOJu0Yw5UTFheZdk3C3FSJQ0aNTvZdWgFfqcTY+7Yq7IoWwqWUMZe6/A ZiXzxtEX/ZF3odSlmJJUEaH6/Ta984hUBmAr7CqCbcqMa+p9gVCt/TG04g== X-Google-Smtp-Source: AGHT+IFtyetPaF57ru7I/FvOfaDZDXb3W6tblZeO8Frg5D/3C3M6PGl50QCQnhtcsJQwxdCmr8Q+qg== X-Received: by 2002:a0c:c20b:0:b0:6b0:6a38:e01d with SMTP id 6a1803df08f44-6b61bbe1fddmr38950396d6.0.1720556349276; Tue, 09 Jul 2024 13:19:09 -0700 (PDT) Received: from [192.168.1.35] (c-68-56-149-176.hsd1.mi.comcast.net. [68.56.149.176]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b61b9c4d9fsm11755926d6.3.2024.07.09.13.19.08 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 Jul 2024 13:19:09 -0700 (PDT) Message-ID: <81b76fa0-6eb3-4619-8878-488bc8886448@gmail.com> Date: Tue, 9 Jul 2024 16:19:08 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240708042517.5585-1-gseanmcg@gmail.com> <20240709183434.10114-1-gseanmcg@gmail.com> Content-Language: en-US-large From: Leo Izen Autocrypt: addr=leo.izen@gmail.com; keydata= xjMEZZw8HxYJKwYBBAHaRw8BAQdAgcfI+LbtjWarA7LQu6/WAPlKkn9tn4HalmHgGVhMUdzN KkxlbyBJemVuIChUcmFuZXB0b3JhKSA8bGVvLml6ZW5AZ21haWwuY29tPsKTBBMWCgA7FiEE HYMKC85GcJ4gOyb8dk5I6kgiGDMFAmWcPB8CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcC F4AACgkQdk5I6kgiGDOnGAEA+oJFwblAblnhK+T5a5EuEbXMTZG4FkYTYz0VmjJ0NHIA/Rn9 ZE9+EEsH8fmT0hRJSiM3+zbkwQJA9gVVYAek9kMKzjgEZZw8HxIKKwYBBAGXVQEFAQEHQDes 4thejF9AU2rkGuDuut3CQYwB4SVpI4EzU8uvPJgfAwEIB8J4BBgWCgAgFiEEHYMKC85GcJ4g Oyb8dk5I6kgiGDMFAmWcPB8CGwwACgkQdk5I6kgiGDOv3QD+PLXrL0Ihk675Ip5FG+VJOodN 6e+5n3iYC6wJ75eqG3EA/1nCywoGXlCYuzXgq3el6NOn+8awwaXcTVJFzZCRbe8M In-Reply-To: <20240709183434.10114-1-gseanmcg@gmail.com> Subject: Re: [FFmpeg-devel] [PATCHv3] swscale: prevent undefined behaviour in the PUTRGBA macro X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 7/9/24 2:34 PM, Sean McGovern wrote: > For even small values of 'asrc', shifting them by 24 bits or more > will cause arithmetic overflow and be caught by > GCC's undefined behaviour sanitizer. > > Ensure the values do not overflow by up-casting the bracketed > expressions involving 'asrc' to int32_t. > --- > libswscale/yuv2rgb.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c > index 977eb3a7dd..ac0b811f61 100644 > --- a/libswscale/yuv2rgb.c > +++ b/libswscale/yuv2rgb.c > @@ -100,9 +100,9 @@ const int *sws_getCoefficients(int colorspace) > > #define PUTRGBA(dst, ysrc, asrc, i, abase) \ > Y = ysrc[2 * i]; \ > - dst[2 * i] = r[Y] + g[Y] + b[Y] + (asrc[2 * i] << abase); \ > + dst[2 * i] = r[Y] + g[Y] + b[Y] + ((int32_t)(asrc[2 * i]) << abase); \ > Y = ysrc[2 * i + 1]; \ > - dst[2 * i + 1] = r[Y] + g[Y] + b[Y] + (asrc[2 * i + 1] << abase); > + dst[2 * i + 1] = r[Y] + g[Y] + b[Y] + ((int32_t)(asrc[2 * i + 1]) << abase); > > #define PUTRGB48(dst, src, asrc, i, abase) \ > Y = src[ 2 * i]; \ Are these able to be negative? If not, it may be wise to cast to uint32_t instead as left shifting a negative integer is UB. - Leo Izen (Traneptora) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".