PR #24513 opened by michaelni
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24513
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24513.patch

Fixes: out of array read
Fixes: HBKKtIKDkJ9e
Found-by: Zheng Yu @ Depthfirst

# Summary of changes

Briefly describe what this PR does and why.

<!--
If this PR requires new FATE test samples, attach them to the PR and
list their target paths below (relative to the fate-suite root).

Attached filenames must match the sample's filename:

```fate-samples
# e.g. vorbis/new-sample.ogg
```
-->



>From 22a07d4aabd7260c146eab57163e8e192e5594e5 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Tue, 15 Sep 2026 06:13:53 +0200
Subject: [PATCH] avcodec/dcaenc: fill the LFE history from the LFE channel

Fixes: out of array read
Fixes: HBKKtIKDkJ9e
Found-by: Zheng Yu @ Depthfirst
---
 libavcodec/dcaenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c
index 6387f7b5ec..d06287b3f2 100644
--- a/libavcodec/dcaenc.c
+++ b/libavcodec/dcaenc.c
@@ -969,7 +969,8 @@ static void shift_history(DCAEncContext *c, const int32_t 
*input)
 
     for (k = 0; k < 512; k++)
         for (ch = 0; ch < c->channels; ch++) {
-            const int chi = c->channel_order_tab[ch];
+            const int chi = ch < c->fullband_channels ? 
c->channel_order_tab[ch]
+                                                      : 
lfe_index[c->channel_config];
 
             c->history[ch][k] = input[k * c->channels + chi];
         }
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to