Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Grunau <janne-vlc@jannau.net>2018-11-09 20:13:38 +0300
committerJanne Grunau <janne-vlc@jannau.net>2018-11-09 20:33:38 +0300
commitd253401a59bf27e9a015c23a1aaf45b36f25d8e3 (patch)
tree5e595796d8c03644a974952404bdf32bd1f2e006
parent4d3b6c153ba787adacabaa5e0e3b6e229b144c5a (diff)
frame-mt: do not derive_warpmv intrabc blocks
Fixes an use-of-uninitialized-value in decode_b() with clusterfuzz-testcase-minimized-dav1d_fuzzer_mt-5674585370918912. Credits to oss-fuzz.
-rw-r--r--src/decode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/decode.c b/src/decode.c
index 9ba0fc9..ad5f7b5 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -727,7 +727,9 @@ static int decode_b(Dav1dTileContext *const t,
#undef set_ctx
}
} else {
- if (b->comp_type == COMP_INTER_NONE && b->motion_mode == MM_WARP) {
+ if (f->frame_hdr.frame_type & 1 /* not intrabc */ &&
+ b->comp_type == COMP_INTER_NONE && b->motion_mode == MM_WARP)
+ {
uint64_t mask[2] = { 0, 0 };
find_matching_ref(t, intra_edge_flags, bw4, bh4, w4, h4,
have_left, have_top, b->ref[0], mask);