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 CB16E45E4A for ; Sat, 13 May 2023 06:27:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3B43F68C0CD; Sat, 13 May 2023 09:27:35 +0300 (EEST) Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com [209.85.221.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4D64568BFAC for ; Sat, 13 May 2023 09:27:29 +0300 (EEST) Received: by mail-vk1-f182.google.com with SMTP id 71dfb90a1353d-4501ac903d6so5582233e0c.1 for ; Fri, 12 May 2023 23:27:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683959248; x=1686551248; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=FykYR2LxyyuoAILx71A6BhGqNLHnYmnZOLUsadxCZNw=; b=J6rxCu5IEtkKScbQJJ2i48NeM26mUJA7MyLRvGaTmI52iCMsp9MBSra9EOA29c3rjC G2sK4qRpM5qFlzthIE4ArGdHFV/RcKR/jo8G2wRiS4hd2nTg4/VvoYTungLGVBb1C4JE C8c8MoDwCwCHLYA2T9n69EeZBnMehBhW/UyD/7lN73gVj1sNc1enguoDzREK0sulYj/m vHJuwFFzU25UHthx/jFAsO3SQTQclY74LIQ0782wzTsRjnO7hYwQUXohYxy5tkbGFklH 7UN0maV0exv5wCo2IEcjd3o8klmtg6Q8jijOxGWZlye9m2qXTLOPHFxd/8fuoR4XsT7h dykA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683959248; x=1686551248; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FykYR2LxyyuoAILx71A6BhGqNLHnYmnZOLUsadxCZNw=; b=XvEjY3+0SX7n8j2Lj9UBoF3qBNjpjF4QxEV2InCp/KKWSilT/g6LwgtcEqeA5OYq01 eYVWLZrIa1JNKGEe0AUnptf+D160cD3xWx7h4k9ANkOOS3/jiuE4IQCR4ayD5zr0SQQ7 qf58COAtUNADoJiPid1VIuCMVaaQ8Li7B56VWsthqjK0XSaSXYReNck5EK+DnWu5AuRd WSJHMQKuEfPPIOJr5M+lT3E2Sb5VnUoV79xZm0Oy14gOVlOER1WdxkaZBDq2lJnCzd9u +DBlTh4TnbW9LrnhGiFfoE2+I9F1Wg5DkTUgXE6P24VChCSEr1ixD24L6gvKodYC4hXp 8O+w== X-Gm-Message-State: AC+VfDz5BtWJX3Hc77G3OKS5OxZ5cu2FHoBsBg4A6rosDy+PbnHgQjYe /gDTo8ErTlvgFonO3j2EA0vdu9z0UdblQyyEMXWJ0bRy X-Google-Smtp-Source: ACHHUZ5NI89Y4sWKjXZfR13WNWZT6U7qtwEspRJcuF2KHi8Vv3bc4KFznOIiOM55Wc2U5XiNsHXxgyE8aBgP7gImyrM= X-Received: by 2002:a1f:bd10:0:b0:43f:bcad:db6b with SMTP id n16-20020a1fbd10000000b0043fbcaddb6bmr10896111vkf.10.1683959247722; Fri, 12 May 2023 23:27:27 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Paul B Mahol Date: Sat, 13 May 2023 08:26:54 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000c6efad05fb8d5076" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/elbg: fix integer overflows 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000c6efad05fb8d5076 Content-Type: text/plain; charset="UTF-8" Improved patch attached. --000000000000c6efad05fb8d5076 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avcodec-elbg-fix-integer-overflows.patch" Content-Disposition: attachment; filename="0001-avcodec-elbg-fix-integer-overflows.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhllu1j20 RnJvbSA1YmRmNTQ5M2M3MmU0YTgyMTRlMjg2NzM3M2UyM2RiNjhkMDkwY2UxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTIgTWF5IDIwMjMgMjM6Mzc6NTkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdmNvZGVj L2VsYmc6IGZpeCBpbnRlZ2VyIG92ZXJmbG93cwoKRml4ZXMgIzk5NzcKClNpZ25lZC1vZmYtYnk6 IFBhdWwgQiBNYWhvbCA8b25lbWRhQGdtYWlsLmNvbT4KLS0tCiBsaWJhdmNvZGVjL2VsYmcuYyB8 IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy9lbGJnLmMgYi9saWJhdmNvZGVjL2VsYmcuYwppbmRleCBkOTdhN2JjM2Y5 Li43YTZhODRmYjZiIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2VsYmcuYworKysgYi9saWJhdmNv ZGVjL2VsYmcuYwpAQCAtNDQsMTMgKzQ0LDEzIEBAIHR5cGVkZWYgc3RydWN0IGNlbGxfcyB7CiAg KiBFTEJHIGludGVybmFsIGRhdGEKICAqLwogdHlwZWRlZiBzdHJ1Y3QgRUxCR0NvbnRleHQgewot ICAgIGludDY0X3QgZXJyb3I7CisgICAgaW50IGVycm9yOwogICAgIGludCBkaW07CiAgICAgaW50 IG51bV9jYjsKICAgICBpbnQgKmNvZGVib29rOwogICAgIGNlbGwgKipjZWxsczsKLSAgICBpbnQ2 NF90ICp1dGlsaXR5OwotICAgIGludDY0X3QgKnV0aWxpdHlfaW5jOworICAgIGludCAqdXRpbGl0 eTsKKyAgICBpbnQgKnV0aWxpdHlfaW5jOwogICAgIGludCAqbmVhcmVzdF9jYjsKICAgICBpbnQg KnBvaW50czsKICAgICBpbnQgKnRlbXBfcG9pbnRzOwpAQCAtNzUsOSArNzUsMTIgQEAgc3RhdGlj IGlubGluZSBpbnQgZGlzdGFuY2VfbGltaXRlZChpbnQgKmEsIGludCAqYiwgaW50IGRpbSwgaW50 IGxpbWl0KQogewogICAgIGludCBpLCBkaXN0PTA7CiAgICAgZm9yIChpPTA7IGk8ZGltOyBpKysp IHsKLSAgICAgICAgZGlzdCArPSAoYVtpXSAtIGJbaV0pKihhW2ldIC0gYltpXSk7Ci0gICAgICAg IGlmIChkaXN0ID4gbGltaXQpCi0gICAgICAgICAgICByZXR1cm4gSU5UX01BWDsKKyAgICAgICAg aW50NjRfdCBkaXN0YW5jZSA9IGFbaV0gLSBiW2ldOworCisgICAgICAgIGRpc3RhbmNlICo9IGRp c3RhbmNlOworICAgICAgICBpZiAoZGlzdCA+PSBsaW1pdCAtIGRpc3RhbmNlKQorICAgICAgICAg ICAgcmV0dXJuIGxpbWl0OworICAgICAgICBkaXN0ICs9IGRpc3RhbmNlOwogICAgIH0KIAogICAg IHJldHVybiBkaXN0OwpAQCAtOTcsOCArMTAwLDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2ZWN0 X2RpdmlzaW9uKGludCAqcmVzLCBpbnQgKnZlY3QsIGludCBkaXYsIGludCBkaW0pCiBzdGF0aWMg aW50IGV2YWxfZXJyb3JfY2VsbChFTEJHQ29udGV4dCAqZWxiZywgaW50ICpjZW50cm9pZCwgY2Vs bCAqY2VsbHMpCiB7CiAgICAgaW50IGVycm9yPTA7Ci0gICAgZm9yICg7IGNlbGxzOyBjZWxscz1j ZWxscy0+bmV4dCkKLSAgICAgICAgZXJyb3IgKz0gZGlzdGFuY2VfbGltaXRlZChjZW50cm9pZCwg ZWxiZy0+cG9pbnRzICsgY2VsbHMtPmluZGV4KmVsYmctPmRpbSwgZWxiZy0+ZGltLCBJTlRfTUFY KTsKKyAgICBmb3IgKDsgY2VsbHM7IGNlbGxzPWNlbGxzLT5uZXh0KSB7CisgICAgICAgIGludCBk aXN0YW5jZSA9IGRpc3RhbmNlX2xpbWl0ZWQoY2VudHJvaWQsIGVsYmctPnBvaW50cyArIGNlbGxz LT5pbmRleCplbGJnLT5kaW0sIGVsYmctPmRpbSwgSU5UX01BWCk7CisgICAgICAgIGlmIChlcnJv ciA+PSBJTlRfTUFYIC0gZGlzdGFuY2UpCisgICAgICAgICAgICByZXR1cm4gSU5UX01BWDsKKyAg ICAgICAgZXJyb3IgKz0gZGlzdGFuY2U7CisgICAgfQogCiAgICAgcmV0dXJuIGVycm9yOwogfQpA QCAtMTc4LDEwICsxODUsMTMgQEAgc3RhdGljIGludCBzaW1wbGVfbGJnKEVMQkdDb250ZXh0ICpl bGJnLAogICAgICAgICBpbnQgZGlzdFsyXSA9IHtkaXN0YW5jZV9saW1pdGVkKGNlbnRyb2lkWzBd LCBwb2ludHMgKyB0ZW1wY2VsbC0+aW5kZXgqZGltLCBkaW0sIElOVF9NQVgpLAogICAgICAgICAg ICAgICAgICAgICAgICBkaXN0YW5jZV9saW1pdGVkKGNlbnRyb2lkWzFdLCBwb2ludHMgKyB0ZW1w Y2VsbC0+aW5kZXgqZGltLCBkaW0sIElOVF9NQVgpfTsKICAgICAgICAgaW50IGlkeCA9IGRpc3Rb MF0gPiBkaXN0WzFdOwotICAgICAgICBuZXd1dGlsaXR5W2lkeF0gKz0gZGlzdFtpZHhdOworICAg ICAgICBpZiAobmV3dXRpbGl0eVtpZHhdID49IElOVF9NQVggLSBkaXN0W2lkeF0pCisgICAgICAg ICAgICBuZXd1dGlsaXR5W2lkeF0gPSBJTlRfTUFYOworICAgICAgICBlbHNlCisgICAgICAgICAg ICBuZXd1dGlsaXR5W2lkeF0gKz0gZGlzdFtpZHhdOwogICAgIH0KIAotICAgIHJldHVybiBuZXd1 dGlsaXR5WzBdICsgbmV3dXRpbGl0eVsxXTsKKyAgICByZXR1cm4gKG5ld3V0aWxpdHlbMF0gPj0g SU5UX01BWCAtIG5ld3V0aWxpdHlbMV0pID8gSU5UX01BWCA6IG5ld3V0aWxpdHlbMF0gKyBuZXd1 dGlsaXR5WzFdOwogfQogCiBzdGF0aWMgdm9pZCBnZXRfbmV3X2NlbnRyb2lkcyhFTEJHQ29udGV4 dCAqZWxiZywgaW50IGh1YywgaW50ICpuZXdjZW50cm9pZF9pLApAQCAtMjUzLDkgKzI2Myw5IEBA IHN0YXRpYyB2b2lkIGV2YWx1YXRlX3V0aWxpdHlfaW5jKEVMQkdDb250ZXh0ICplbGJnKQogICAg IGludDY0X3QgaW5jPTA7CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGVsYmctPm51bV9jYjsg aSsrKSB7Ci0gICAgICAgIGlmIChlbGJnLT5udW1fY2IgKiBlbGJnLT51dGlsaXR5W2ldID4gZWxi Zy0+ZXJyb3IpCisgICAgICAgIGlmIChlbGJnLT5udW1fY2IgKiAoaW50NjRfdCllbGJnLT51dGls aXR5W2ldID4gZWxiZy0+ZXJyb3IpCiAgICAgICAgICAgICBpbmMgKz0gZWxiZy0+dXRpbGl0eVtp XTsKLSAgICAgICAgZWxiZy0+dXRpbGl0eV9pbmNbaV0gPSBpbmM7CisgICAgICAgIGVsYmctPnV0 aWxpdHlfaW5jW2ldID0gRkZNSU4oaW5jLCBJTlRfTUFYKTsKICAgICB9CiB9CiAKQEAgLTI3OCw3 ICsyODgsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfdXRpbGl0eV9hbmRfbl9jYihFTEJHQ29udGV4 dCAqZWxiZywgaW50IGlkeCwgaW50IG5ld3V0aWxpdHkpCiAgKi8KIHN0YXRpYyB2b2lkIHRyeV9z aGlmdF9jYW5kaWRhdGUoRUxCR0NvbnRleHQgKmVsYmcsIGludCBpZHhbM10pCiB7Ci0gICAgaW50 IGosIGssIGNvbnQ9MDsKKyAgICBpbnQgaiwgaywgY29udD0wLCB0bXA7CiAgICAgaW50NjRfdCBv bGRlcnJvcj0wLCBuZXdlcnJvcjsKICAgICBpbnQgbmV3dXRpbGl0eVszXTsKICAgICBpbnQgKm5l d2NlbnRyb2lkWzNdID0gewpAQCAtMzA1LDEyICszMTUsMTcgQEAgc3RhdGljIHZvaWQgdHJ5X3No aWZ0X2NhbmRpZGF0ZShFTEJHQ29udGV4dCAqZWxiZywgaW50IGlkeFszXSkKICAgICBnZXRfbmV3 X2NlbnRyb2lkcyhlbGJnLCBpZHhbMV0sIG5ld2NlbnRyb2lkWzBdLCBuZXdjZW50cm9pZFsxXSk7 CiAKICAgICBuZXd1dGlsaXR5WzJdICA9IGV2YWxfZXJyb3JfY2VsbChlbGJnLCBuZXdjZW50cm9p ZFsyXSwgZWxiZy0+Y2VsbHNbaWR4WzBdXSk7Ci0gICAgbmV3dXRpbGl0eVsyXSArPSBldmFsX2Vy cm9yX2NlbGwoZWxiZywgbmV3Y2VudHJvaWRbMl0sIGVsYmctPmNlbGxzW2lkeFsyXV0pOworICAg IHRtcCAgICAgICAgICAgID0gZXZhbF9lcnJvcl9jZWxsKGVsYmcsIG5ld2NlbnRyb2lkWzJdLCBl bGJnLT5jZWxsc1tpZHhbMl1dKTsKKyAgICBuZXd1dGlsaXR5WzJdICA9ICh0bXAgPj0gSU5UX01B WCAtIG5ld3V0aWxpdHlbMl0pID8gSU5UX01BWCA6IG5ld3V0aWxpdHlbMl0gKyB0bXA7CiAKICAg ICBuZXdlcnJvciA9IG5ld3V0aWxpdHlbMl07CiAKLSAgICBuZXdlcnJvciArPSBzaW1wbGVfbGJn KGVsYmcsIGVsYmctPmRpbSwgbmV3Y2VudHJvaWQsIG5ld3V0aWxpdHksIGVsYmctPnBvaW50cywK KyAgICB0bXAgPSBzaW1wbGVfbGJnKGVsYmcsIGVsYmctPmRpbSwgbmV3Y2VudHJvaWQsIG5ld3V0 aWxpdHksIGVsYmctPnBvaW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsYmctPmNl bGxzW2lkeFsxXV0pOworICAgIGlmICh0bXAgPj0gSU5UX01BWCAtIG5ld2Vycm9yKQorICAgICAg ICBuZXdlcnJvciA9IElOVF9NQVg7CisgICAgZWxzZQorICAgICAgICBuZXdlcnJvciArPSB0bXA7 CiAKICAgICBpZiAob2xkZXJyb3IgPiBuZXdlcnJvcikgewogICAgICAgICBzaGlmdF9jb2RlYm9v ayhlbGJnLCBpZHgsIG5ld2NlbnRyb2lkKTsKQEAgLTMzNCw3ICszNDksNyBAQCBzdGF0aWMgdm9p ZCBkb19zaGlmdGluZ3MoRUxCR0NvbnRleHQgKmVsYmcpCiAgICAgZXZhbHVhdGVfdXRpbGl0eV9p bmMoZWxiZyk7CiAKICAgICBmb3IgKGlkeFswXT0wOyBpZHhbMF0gPCBlbGJnLT5udW1fY2I7IGlk eFswXSsrKQotICAgICAgICBpZiAoZWxiZy0+bnVtX2NiICogZWxiZy0+dXRpbGl0eVtpZHhbMF1d IDwgZWxiZy0+ZXJyb3IpIHsKKyAgICAgICAgaWYgKGVsYmctPm51bV9jYiAqIChpbnQ2NF90KWVs YmctPnV0aWxpdHlbaWR4WzBdXSA8IGVsYmctPmVycm9yKSB7CiAgICAgICAgICAgICBpZiAoZWxi Zy0+dXRpbGl0eV9pbmNbZWxiZy0+bnVtX2NiIC0gMV0gPT0gMCkKICAgICAgICAgICAgICAgICBy ZXR1cm47CiAKQEAgLTM1Miw5ICszNjcsOSBAQCBzdGF0aWMgdm9pZCBkb19lbGJnKEVMQkdDb250 ZXh0ICphdl9yZXN0cmljdCBlbGJnLCBpbnQgKnBvaW50cywgaW50IG51bXBvaW50cywKICAgICBp bnQgKmNvbnN0IHNpemVfcGFydCA9IGVsYmctPnNpemVfcGFydDsKICAgICBpbnQgaSwgaiwgc3Rl cHMgPSAwOwogICAgIGludCBiZXN0X2lkeCA9IDA7Ci0gICAgaW50NjRfdCBsYXN0X2Vycm9yOwor ICAgIGludCBsYXN0X2Vycm9yOwogCi0gICAgZWxiZy0+ZXJyb3IgPSBJTlQ2NF9NQVg7CisgICAg ZWxiZy0+ZXJyb3IgPSBJTlRfTUFYOwogICAgIGVsYmctPnBvaW50cyA9IHBvaW50czsKIAogICAg IGRvIHsKQEAgLTM4Miw4ICszOTcsOSBAQCBzdGF0aWMgdm9pZCBkb19lbGJnKEVMQkdDb250ZXh0 ICphdl9yZXN0cmljdCBlbGJnLCBpbnQgKnBvaW50cywgaW50IG51bXBvaW50cywKICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbGJnLT5uZWFyZXN0X2NiW2ld ID0gYmVzdF9pZHg7Ci0gICAgICAgICAgICBlbGJnLT5lcnJvciArPSBiZXN0X2Rpc3Q7Ci0gICAg ICAgICAgICBlbGJnLT51dGlsaXR5W2VsYmctPm5lYXJlc3RfY2JbaV1dICs9IGJlc3RfZGlzdDsK KyAgICAgICAgICAgIGVsYmctPmVycm9yID0gKGVsYmctPmVycm9yID49IElOVF9NQVggLSBiZXN0 X2Rpc3QpID8gSU5UX01BWCA6IGVsYmctPmVycm9yICsgYmVzdF9kaXN0OworICAgICAgICAgICAg ZWxiZy0+dXRpbGl0eVtlbGJnLT5uZWFyZXN0X2NiW2ldXSA9IChlbGJnLT51dGlsaXR5W2VsYmct Pm5lYXJlc3RfY2JbaV1dID49IElOVF9NQVggLSBiZXN0X2Rpc3QpID8KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5UX01BWCA6IGVsYmctPnV0aWxp dHlbZWxiZy0+bmVhcmVzdF9jYltpXV0gKyBiZXN0X2Rpc3Q7CiAgICAgICAgICAgICBmcmVlX2Nl bGxzLT5pbmRleCA9IGk7CiAgICAgICAgICAgICBmcmVlX2NlbGxzLT5uZXh0ID0gZWxiZy0+Y2Vs bHNbZWxiZy0+bmVhcmVzdF9jYltpXV07CiAgICAgICAgICAgICBlbGJnLT5jZWxsc1tlbGJnLT5u ZWFyZXN0X2NiW2ldXSA9IGZyZWVfY2VsbHM7Ci0tIAoyLjM5LjEKCg== --000000000000c6efad05fb8d5076 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --000000000000c6efad05fb8d5076--