From 223b5e8ac9f6461bb13ed365419ec485c5b2b002 Mon Sep 17 00:00:00 2001
|
From: Michael Niedermayer <michael@niedermayer.cc>
|
Date: Fri, 28 May 2021 20:18:25 +0200
|
Subject: [PATCH] avcodec/aacpsy: Avoid floating point division by 0 of
|
norm_fac
|
|
Fixes: Ticket7995
|
Fixes: CVE-2020-20446
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
CVE: CVE-2020-20446
|
Upstream-Status: Backport [223b5e8ac9f6461bb13ed365419ec485c5b2b002]
|
|
Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
|
---
|
libavcodec/aacpsy.c | 2 +-
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c
|
index 482113d427..e51d29750b 100644
|
--- a/libavcodec/aacpsy.c
|
+++ b/libavcodec/aacpsy.c
|
@@ -794,7 +794,7 @@ static void psy_3gpp_analyze_channel(FFPsyContext *ctx, int channel,
|
|
if (pe < 1.15f * desired_pe) {
|
/* 6.6.1.3.6 "Final threshold modification by linearization" */
|
- norm_fac = 1.0f / norm_fac;
|
+ norm_fac = norm_fac ? 1.0f / norm_fac : 0;
|
for (w = 0; w < wi->num_windows*16; w += 16) {
|
for (g = 0; g < num_bands; g++) {
|
AacPsyBand *band = &pch->band[w+g];
|
--
|
2.32.0
|