Fixes: 1681/clusterfuzz-testcase-minimized-5970545365483520
Unified · Split
| @@ -288,6 +288,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp, · 287 unmodified lines | ||
| 288 | 288 | shift = a00.exp; |
| 289 | 289 | if (shift >= 3) |
| 290 | 290 | alpha0[k][0] = 0x7fffffff; |
| 291 | + else if (shift <= -30) | |
| 292 | + alpha0[k][0] = 0; | |
| 291 | 293 | else { |
| 292 | 294 | a00.mant *= 2; |
| 293 | 295 | shift = 2-shift; |
| @@ -302,6 +304,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp, · 8 unmodified lines | ||
| 302 | 304 | shift = a01.exp; |
| 303 | 305 | if (shift >= 3) |
| 304 | 306 | alpha0[k][1] = 0x7fffffff; |
| 307 | + else if (shift <= -30) | |
| 308 | + alpha0[k][1] = 0; | |
| 305 | 309 | else { |
| 306 | 310 | a01.mant *= 2; |
| 307 | 311 | shift = 2-shift; |
| @@ -315,6 +319,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp, · 7 unmodified lines | ||
| 315 | 319 | shift = a10.exp; |
| 316 | 320 | if (shift >= 3) |
| 317 | 321 | alpha1[k][0] = 0x7fffffff; |
| 322 | + else if (shift <= -30) | |
| 323 | + alpha1[k][0] = 0; | |
| 318 | 324 | else { |
| 319 | 325 | a10.mant *= 2; |
| 320 | 326 | shift = 2-shift; |
| @@ -329,6 +335,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp, · 8 unmodified lines | ||
| 329 | 335 | shift = a11.exp; |
| 330 | 336 | if (shift >= 3) |
| 331 | 337 | alpha1[k][1] = 0x7fffffff; |
| 338 | + else if (shift <= -30) | |
| 339 | + alpha1[k][1] = 0; | |
| 332 | 340 | else { |
| 333 | 341 | a11.mant *= 2; |
| 334 | 342 | shift = 2-shift; |