فهرست منبع

LibGfx/JBIG2: Reject files with delayed height information for now

7.4.8.2 Page bitmap height:
"In some cases, this value may not be known at the time that the page
information segment is written. In this case, this field must contain
0xFFFFFFFF, and the actual page height may be communicated later, once
it is known."
Nico Weber 1 سال پیش
والد
کامیت
9cd0c5658e
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      Userland/Libraries/LibGfx/ImageFormats/JBIG2Loader.cpp

+ 5 - 0
Userland/Libraries/LibGfx/ImageFormats/JBIG2Loader.cpp

@@ -297,6 +297,11 @@ static ErrorOr<void> scan_for_page_size(JBIG2LoadingContext& context)
         if (segment.header.type != SegmentType::PageInformation || segment.header.page_association != 1)
             continue;
         auto page_information = TRY(decode_page_information_segment(segment.data));
+
+        // FIXME: We're supposed to compute this from the striping information if it's not set.
+        if (page_information.bitmap_height == 0xffff'ffff)
+            return Error::from_string_literal("JBIG2ImageDecoderPlugin: Cannot handle unknown page height yet");
+
         context.size = { page_information.bitmap_width, page_information.bitmap_height };
         return {};
     }