shithub: dav1d

Download patch

ref: acee43456b37211e78dc98f59a17995614e64f74
parent: b3c522d5c060b98bdd6a164df95c891cd7f6b985
author: Janne Grunau <janne-vlc@jannau.net>
date: Mon Nov 19 17:52:13 EST 2018

frame mt: mark frame as failed in dav1d_close()

Fixes a deadlock on teardown with
clusterfuzz-testcase-minimized-dav1d_fuzzer_mt-5636065151418368. Credits
to oss-fuzz.

--- a/src/lib.c
+++ b/src/lib.c
@@ -286,6 +286,10 @@
 
         // clean-up threading stuff
         if (c->n_fc > 1) {
+            if (f->frame_hdr.refresh_context)
+                dav1d_cdf_thread_signal(&f->out_cdf);
+            dav1d_thread_picture_signal(&f->sr_cur, FRAME_ERROR,
+                                        PLANE_TYPE_ALL);
             pthread_mutex_lock(&f->frame_thread.td.lock);
             f->frame_thread.die = 1;
             pthread_cond_signal(&f->frame_thread.td.cond);