Commit 59ec312c for libheif
commit 59ec312c374ebcdb39fb99916bd965ba124a2445
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Tue May 19 01:10:26 2026 +0200
fix querying decoder image without pushing data first
diff --git a/libheif/codecs/decoder.cc b/libheif/codecs/decoder.cc
index 44450e45..7baa4cce 100644
--- a/libheif/codecs/decoder.cc
+++ b/libheif/codecs/decoder.cc
@@ -461,6 +461,14 @@ Result<std::shared_ptr<HeifPixelImage> > Decoder::get_decoded_frame(const heif_d
return pluginErr;
}
+ // The plugin's per-decoder context is created lazily on the first push of
+ // compressed data. If a caller polls for a frame before any data was pushed
+ // (e.g. when a sequence advances into a new chunk that uses a freshly-
+ // allocated decoder), there is nothing buffered yet — return nullptr.
+ if (!m_decoder) {
+ return {nullptr};
+ }
+
heif_image* decoded_img = nullptr;
heif_error err;