"Ronald S. Bultje" <[email protected]> writes: >> @@ -230,7 +263,12 @@ static inline int get_bits_count(const GetBitContext >> *s) { >> > static inline void skip_bits_long(GetBitContext *s, int n){ >> > OPEN_READER(re, s); >> > re_bit_count += n; >> > +#if UNCHECKED_BITSTREAM_READER >> > re_buffer_ptr += re_bit_count>>5; >> > +#else >> > + re_buffer_ptr = FFMIN(re_buffer_ptr + (re_bit_count >> 5), >> > + (const uint32_t *) s->buffer_end); >> > +#endif >> >> This addition can overflow. >> > > Changed locally to: > > re_buffer_ptr = (re_bit_count >> 5) < (const uint32_t *) s->buffer_end > - re_buffer_ptr ? > re_buffer_ptr + (re_bit_count >> 5) : (const uint32_t > *) s->buffer_end;
Since nothing else uses buffer_end, why not change its type and avoid all the casting? -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
