Fix undefined-shift in RtpDepacketizerAv1::AssembleFrame

Bug: chromium:1028348
Change-Id: I824e84138acbf4e73fc21ee8248e29e5cc7a0ba0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160643
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29945}
diff --git a/modules/rtp_rtcp/source/rtp_depacketizer_av1.cc b/modules/rtp_rtcp/source/rtp_depacketizer_av1.cc
index 45122da..52c62f8 100644
--- a/modules/rtp_rtcp/source/rtp_depacketizer_av1.cc
+++ b/modules/rtp_rtcp/source/rtp_depacketizer_av1.cc
@@ -311,7 +311,8 @@
         return false;
       }
       leb128_byte = *it;
-      obu_size_bytes |= (leb128_byte & 0x7F) << (size_of_obu_size_bytes * 7);
+      obu_size_bytes |= uint64_t{leb128_byte & 0x7Fu}
+                        << (size_of_obu_size_bytes * 7);
       ++size_of_obu_size_bytes;
       ++it;
     } while ((leb128_byte & 0x80) != 0);
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 7acbf02..7e81d56 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -550,6 +550,7 @@
   sources = [
     "rtp_depacketizer_av1_assemble_frame_fuzzer.cc",
   ]
+  seed_corpus = "corpora/rtp-depacketizer-av1-assemble-frame-corpus"
   deps = [
     ":fuzz_data_helper",
     "../../api:array_view",
diff --git a/test/fuzzers/corpora/rtp-depacketizer-av1-assemble-frame-corpus/av1-assemble-frame-0 b/test/fuzzers/corpora/rtp-depacketizer-av1-assemble-frame-corpus/av1-assemble-frame-0
new file mode 100644
index 0000000..540a770
--- /dev/null
+++ b/test/fuzzers/corpora/rtp-depacketizer-av1-assemble-frame-corpus/av1-assemble-frame-0
@@ -0,0 +1 @@
+ô0ÿÿÿ¸¸¸
\ No newline at end of file