Skip to content

Invalid shift in dav1d_get_vlc() src/getbits.c

Reproduced with commit 44ad79e9

Steps to reproduce:

  1. build with undefined behavior sanitizer (-fsanitizer=shift)
  2. replay testcase with ./dav1d_fuzzer testcase.ivf

testcase.ivf

src/getbits.c:98:25: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
    #0 0x768f3e in dav1d_get_vlc src/getbits.c:98:25
    #1 0x520bd3 in parse_seq_hdr src/obu.c:86:46
    #2 0x520bd3 in dav1d_parse_obus src/obu.c:1049
    #3 0x519891 in dav1d_decode src/lib.c:201:20
    #4 0x512b71 in LLVMFuzzerTestOneInput tests/libfuzzer/dav1d_fuzzer.c:101:19
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information