Skip to content

Potential divide by zero in TD Renderer

When using the TD Object Renderer with a binary file generated with a custom SOFA file, a potential divide by zero can occur while generating filters. Relevant snippet of ivas_objectRenderer_hrFilt.c:

        /* Account for lost energy */
        for ( i = 0; i < p; i++ )
        {
            ESynL += modelEval->BMEnergiesL[modelEval->UseIndsL[i]].val;
            ESynR += modelEval->BMEnergiesR[modelEval->UseIndsR[i]].val;
        }
        ScaleL = sqrtf( ETotL / ESynL );
        ScaleR = sqrtf( ETotR / ESynR );
//                              ^^^^^ occurs here
Edited by Archit Tamarapu