Resolve: "Infinite loop on corrupted bitstreams in rc_uni_dec_read_bits()"
Reason why this change is needed
- With
low = 0xFFFFFFFF(maximum UWord32), the conditiontmp <= lowis always true, so the loop never terminates and the decoder hangs. As a result, the error check after the loop is never reached.
Description of the change
- replace loop counter tmp with UWord64 in rc_uni_dec_read_bits().
Affected operating points
- BE
Edited by Mohammadreza Naghibzadeh