Resolve: "Infinite loop on corrupted bitstreams in rc_uni_dec_read_bits()"

Reason why this change is needed

  • With low = 0xFFFFFFFF (maximum UWord32), the condition tmp <= low is 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

Merge request reports

Loading