From a78d3c5261b55ba2a63d550aafada518a0f88fbe Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Wed, 22 Sep 2021 17:29:23 -0600 Subject: Fix: T91602 ffmpeg crash Issue caused by our patch in rB1af722b81912 we replaced an array with a memory allocation but we forgot to update the assert which now used an invalid method to calculate the array size. SVN libs will have to be updated before T91602 will be fixed for end users. --- build_files/build_environment/patches/ffmpeg.diff | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'build_files/build_environment') diff --git a/build_files/build_environment/patches/ffmpeg.diff b/build_files/build_environment/patches/ffmpeg.diff index 5a50a3f8756..c255f7c37a3 100644 --- a/build_files/build_environment/patches/ffmpeg.diff +++ b/build_files/build_environment/patches/ffmpeg.diff @@ -70,16 +70,18 @@ } --- a/libavcodec/rl.c +++ b/libavcodec/rl.c -@@ -71,7 +71,7 @@ av_cold void ff_rl_init(RLTable *rl, +@@ -71,17 +71,19 @@ av_cold void ff_rl_init_vlc(RLTable *rl, unsigned static_size) { int i, q; - VLC_TYPE table[1500][2] = {{0}}; + VLC_TYPE (*table)[2] = av_calloc(sizeof(VLC_TYPE), 1500 * 2); VLC vlc = { .table = table, .table_allocated = static_size }; - av_assert0(static_size <= FF_ARRAY_ELEMS(table)); +- av_assert0(static_size <= FF_ARRAY_ELEMS(table)); ++ av_assert0(static_size < 1500); init_vlc(&vlc, 9, rl->n + 1, &rl->table_vlc[0][1], 4, 2, &rl->table_vlc[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC); -@@ -80,8 +80,10 @@ av_cold void ff_rl_init_vlc(RLTable *rl, unsigned static_size) + + for (q = 0; q < 32; q++) { int qmul = q * 2; int qadd = (q - 1) | 1; @@ -91,7 +93,7 @@ if (q == 0) { qmul = 1; -@@ -113,4 +115,5 @@ av_cold void ff_rl_init_vlc(RLTable *rl, unsigned static_size) +@@ -113,4 +115,5 @@ rl->rl_vlc[q][i].run = run; } } -- cgit v1.2.3