Commit 540385bc for libheif

commit 540385bc5d793ff16872df67d0784d0d06443a22
Author: Dirk Farin <dirk.farin@gmail.com>
Date:   Wed Apr 8 14:12:54 2026 +0200

    dav1d: resolve leak of packet data on decoder error (#1753)

diff --git a/libheif/plugins/decoder_dav1d.cc b/libheif/plugins/decoder_dav1d.cc
index 8502f1c5..b0a67586 100644
--- a/libheif/plugins/decoder_dav1d.cc
+++ b/libheif/plugins/decoder_dav1d.cc
@@ -179,17 +179,19 @@ static heif_error push_pending_data_into_decoder(dav1d_decoder* decoder)
       break;
     }

-    // Decoder has accepted data. Remove packet and check for error.
-
-    decoder->queued_data.pop_front();
-
-    if ((res < 0) && (res != DAV1D_ERR(EAGAIN))) {
+    if (res < 0) {
+      // dav1d_send_data failed. Data was not consumed, unref before removing from queue.
+      dav1d_data_unref(&decoder->queued_data.front());
+      decoder->queued_data.pop_front();
       return {
         heif_error_Decoder_plugin_error,
         heif_suberror_Unspecified,
         kEmptyString
       };
     }
+
+    // Decoder has accepted data (Dav1dData is consumed). Remove from queue.
+    decoder->queued_data.pop_front();
   }

   return heif_error_ok;