Procházet zdrojové kódy

LibGfx: skip zero-width frames

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27913
and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27873
Nico Weber před 4 roky
rodič
revize
86cec77eb5
1 změnil soubory, kde provedl 4 přidání a 3 odebrání
  1. 4 3
      Libraries/LibGfx/GIFLoader.cpp

+ 4 - 3
Libraries/LibGfx/GIFLoader.cpp

@@ -354,12 +354,13 @@ static bool decode_frame(GIFLoadingContext& context, size_t frame_index)
             if (code.value() == clear_code) {
                 decoder.reset();
                 continue;
-            } else if (code.value() == end_of_information_code) {
-                break;
             }
+            if (code.value() == end_of_information_code)
+                break;
+            if (!image.width)
+                continue;
 
             auto colors = decoder.get_output();
-
             for (const auto& color : colors) {
                 auto c = color_map[color];