avcodec/aacsbr_fixed: Fix division by zero in sbr_gain_calc()
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 1 Nov 2017 13:00:19 +0000 (14:00 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 5 Nov 2017 21:13:16 +0000 (22:13 +0100)
Fixes: 3642/clusterfuzz-testcase-minimized-5443853801750528

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/aacsbr_fixed.c

index 289bb86..3d5875a 100644 (file)
@@ -433,6 +433,7 @@ static void sbr_gain_calc(AACContext *ac, SpectralBandReplication *sbr,
                                                 av_add_sf(FLOAT_1, sbr->e_curr[e][m]),
                                                 av_add_sf(FLOAT_1, sbr->q_mapped[e][m]))));
                 }
+                sbr->gain[e][m] = av_add_sf(sbr->gain[e][m], FLOAT_MIN);
             }
             for (m = sbr->f_tablelim[k] - sbr->kx[1]; m < sbr->f_tablelim[k + 1] - sbr->kx[1]; m++) {
                 sum[0] = av_add_sf(sum[0], sbr->e_origmapped[e][m]);