Commit 985b8278 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Fix for 3gpp issue 831: ASAN - write to nullptr in stereo encoder at 64kbps possible

parent faa6e81c
Loading
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -1256,8 +1256,18 @@ static void IGF_CalculateStereoEnvelope_fx(

                        IF( last_core_acelp || hPrivateData->wasTransient || EQ_32( hPrivateData->prevDampingFactor_IIR_fx[sfb], L_shl( -1, sub( 15, hPrivateData->prevDampingFactor_IIR_e[sfb] ) ) ) )
                        {
                            hPrivateData->prevDampingFactor_IIR_fx[sfb] = s_max( currDampingFactor_fx, shr( 3277 /*0.1f * 32767*/, currDampingFactor_e ) ); /*resultant exponent stored in hPrivateData->prevDampingFactor_IIR_e[sfb]*/
                            tmp = BASOP_Util_Cmp_Mant32Exp( currDampingFactor_fx, currDampingFactor_e, 3277, 0 );
                            IF( tmp >= 0 )
                            {
                                hPrivateData->prevDampingFactor_IIR_fx[sfb] = currDampingFactor_fx;
                                hPrivateData->prevDampingFactor_IIR_e[sfb] = currDampingFactor_e;
                            }
                            ELSE
                            {
                                hPrivateData->prevDampingFactor_IIR_fx[sfb] = 3277; /* 0.1 in Q15 */
                                hPrivateData->prevDampingFactor_IIR_e[sfb] = 0;
                            }

                            move16();
                            move16();
                        }