Set max number of bits for aom_rb_read_uvlc()

aom_rb_read_bit() can only handle 32 bits at most.

BUG=b/74485936,b/74505775

Change-Id: I6d63c7d5e085177de4c54727d4892149c3a6bbab
diff --git a/aom_dsp/binary_codes_reader.c b/aom_dsp/binary_codes_reader.c
index 0a97f88..3076709 100644
--- a/aom_dsp/binary_codes_reader.c
+++ b/aom_dsp/binary_codes_reader.c
@@ -146,11 +146,10 @@
 
 uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb) {
   int leading_zeros = 0;
-
   while (!aom_rb_read_bit(rb)) ++leading_zeros;
-
-  uint32_t value = aom_rb_read_literal(rb, leading_zeros);
-  value += (1 << leading_zeros) - 1;
-
-  return value;
+  // Maximum 32 bits.
+  if (leading_zeros >= 32) return UINT32_MAX;
+  const uint32_t base = (1u << leading_zeros) - 1;
+  const uint32_t value = aom_rb_read_literal(rb, leading_zeros);
+  return base + value;
 }