mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 04:07:23 +00:00
The previous signature allowed lifetime laundering if code like below was used: impl<'a> AvBufferSource for &'a mut [u8] { ... } fn foo() { let mut storage = vec![]; let buf = AvBuffer::new(storage.deref_mut()); drop(storage); // buf can be used after free } Add a 'static bound to prevent it. BUG=None TEST=cargo build --release --features "video-decoder,ffmpeg" -p devices Change-Id: Ifda2793a3e3d4d8b400fa076f1d6f9474d0ae159 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3833771 Reviewed-by: Junichi Uekawa <uekawa@chromium.org> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Commit-Queue: Tatsuyuki Ishi <ishitatsuyuki@google.com> Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> |
||
---|---|---|
.. | ||
ffmpeg | ||
libva | ||
libvda | ||
vp8 |