[FFmpeg-devel] [PATCH 10/10] avcodec/opus_silk: Remove wrong size information in function declaration

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Sep 13 16:53:36 EEST 2021


silk_lsp2poly()'s declaration contained arrays with array sizes;
yet these array sizes exceeded the number of actually accessed array
elements (which is related to another parameter) and this leads to
-Wstringop-overflow= warnings from GCC 11, because the arrays provided
by callers are only large enough for the actually used elements.

So replace the incorrect array sizes with comments containing
the correct array sizes. Given that these sizes are not compile-time
constants, they can only be communicated via a comment.

Reported by Paul B Mahol.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/opus_silk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c
index 913053c5e2..8523b55ada 100644
--- a/libavcodec/opus_silk.c
+++ b/libavcodec/opus_silk.c
@@ -198,7 +198,8 @@ static inline int silk_is_lpc_stable(const int16_t lpc[16], int order)
     }
 }
 
-static void silk_lsp2poly(const int32_t lsp[16], int32_t pol[16], int half_order)
+static void silk_lsp2poly(const int32_t lsp[/* 2 * half_order - 1 */],
+                          int32_t pol[/* half_order + 1 */], int half_order)
 {
     int i, j;
 
-- 
2.30.2



More information about the ffmpeg-devel mailing list