Browse Source

avcodec/get_bits: Fix get_sbits_long(0)

Fixes undefined behavior
Fixes: 640889-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c72fa43234)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.0.5
Michael Niedermayer 9 years ago
parent
commit
66bf84e2c4
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      libavcodec/get_bits.h

+ 4
- 0
libavcodec/get_bits.h View File

@@ -382,6 +382,10 @@ static inline uint64_t get_bits64(GetBitContext *s, int n)
*/
static inline int get_sbits_long(GetBitContext *s, int n)
{
// sign_extend(x, 0) is undefined
if (!n)
return 0;

return sign_extend(get_bits_long(s, n), n);
}



Loading…
Cancel
Save