Jelle Raaijmakers
1aeb080250
LibCompress: Treat LZW decoding errors as end of stream
...
The LZW data for both GIF and TIFF images is sometimes intentionally
missing an end-of-information (EOI) code, which technically is a
decoding error, but in practive is handled gracefully by Firefox, Safari
and Chrome for GIFs and Safari for TIFFs. Let's mirror their behavior.
The included WPT test exposes the fact that trailing garbage bytes can
also result in decoding errors. We handle this in the LZW logic rather
than in the image decoding since our LZW implementation is currently
only used by GIF and TIFF decoding. The error is logged behind the
LZW_DEBUG flag.
2026-04-29 20:28:15 +02:00
..
2026-04-15 11:07:38 +01:00
2026-03-30 19:23:13 +01:00
2026-01-11 13:14:40 +01:00
2026-04-29 20:28:15 +02:00
2026-03-21 21:42:44 -05:00
2024-11-05 14:02:07 +00:00
2026-02-04 20:54:47 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-02-17 18:59:33 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-03-21 10:29:54 +01:00
2026-03-21 10:29:54 +01:00
2026-03-21 10:29:54 +01:00
2025-03-10 17:14:13 +01:00
2025-02-18 23:31:49 +01:00
2025-11-28 17:00:29 +01:00
2026-03-21 10:29:54 +01:00
2026-02-16 19:33:01 +01:00
2024-11-05 14:02:07 +00:00
2025-08-21 11:52:38 +02:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2025-11-19 18:17:42 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-02-06 14:18:10 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-03-12 17:13:16 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-13 16:10:15 +01:00
2025-01-13 20:03:28 -07:00
2025-06-06 00:52:19 +02:00
2024-11-05 14:02:07 +00:00
2025-12-01 17:46:44 +01:00
2025-04-01 13:38:00 +02:00
2025-04-01 13:38:00 +02:00
2025-04-01 13:38:00 +02:00
2025-04-01 13:38:00 +02:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-07-09 16:44:20 +01:00
2025-07-09 16:44:20 +01:00
2025-05-21 08:54:40 -04:00
2025-05-19 16:32:07 +01:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-04-25 14:54:10 +02:00
2026-04-25 14:54:10 +02:00
2026-04-25 14:54:10 +02:00
2024-11-05 14:02:07 +00:00
2025-01-13 11:07:55 +00:00
2024-11-05 14:02:07 +00:00
2024-12-04 16:56:30 +00:00
2025-03-20 11:50:49 +01:00
2026-03-06 13:13:44 +01:00
2025-03-20 11:50:49 +01:00
2026-03-21 10:29:54 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-12-06 04:49:36 +00:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-09-24 12:33:17 +01:00
2025-05-21 08:54:40 -04:00
2025-01-13 12:11:34 +00:00
2025-01-13 12:11:34 +00:00
2024-11-05 14:02:07 +00:00
2025-04-30 20:13:14 +01:00
2024-11-19 22:31:51 +01:00
2024-11-05 14:02:07 +00:00
2026-02-01 20:35:16 +01:00
2025-08-04 11:29:05 +01:00
2024-11-05 14:02:07 +00:00
2026-03-21 21:42:44 -05:00
2024-11-05 14:02:07 +00:00
2026-03-21 21:42:44 -05:00
2026-03-21 21:42:44 -05:00
2026-03-21 21:42:44 -05:00
2024-11-05 14:02:07 +00:00
2026-03-29 23:50:47 +02:00
2025-12-11 23:29:14 +00:00
2025-09-04 10:05:44 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-12-04 11:23:54 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2026-02-01 14:29:59 +01:00
2026-02-01 14:29:59 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-05-11 01:14:31 +02:00
2026-03-21 10:29:54 +01:00
2026-03-21 10:29:54 +01:00
2024-12-04 19:50:00 +00:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2024-12-16 20:47:32 +01:00
2025-01-21 16:05:12 +01:00
2025-01-21 16:05:12 +01:00
2025-01-21 16:05:12 +01:00
2025-05-11 01:14:31 +02:00
2025-05-11 01:14:31 +02:00
2025-05-11 01:14:31 +02:00
2025-07-15 19:05:36 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-06-16 12:44:58 +01:00
2025-03-20 11:50:49 +01:00
2026-01-20 15:38:54 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-09-23 23:35:19 +02:00
2026-02-04 21:23:20 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-03-10 15:23:53 +01:00
2025-08-27 08:48:01 +02:00
2024-11-05 14:02:07 +00:00
2026-02-19 21:31:21 +01:00
2025-10-14 10:23:27 +02:00
2025-10-14 10:23:27 +02:00
2026-01-15 19:50:53 +01:00
2025-10-14 10:23:27 +02:00
2025-10-14 10:23:27 +02:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-01-15 19:50:53 +01:00
2026-01-15 19:50:53 +01:00
2026-01-15 19:50:53 +01:00
2026-01-15 19:50:53 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2025-07-03 22:16:39 +02:00
2025-03-03 21:49:44 +01:00
2025-05-24 10:31:34 +01:00
2026-01-24 11:54:39 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2026-01-15 19:50:53 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-12-21 23:09:52 +01:00
2024-11-05 14:02:07 +00:00
2024-12-04 17:14:10 +00:00
2026-01-27 20:32:12 +01:00
2025-03-28 22:01:51 +00:00
2026-01-15 19:50:53 +01:00
2025-02-20 14:06:23 -05:00
2026-02-05 12:34:57 +01:00
2025-01-04 11:44:03 +00:00
2026-02-06 10:47:50 +00:00
2026-02-06 10:47:50 +00:00
2026-03-24 13:06:15 +00:00
2026-02-06 10:47:50 +00:00
2026-02-06 10:47:50 +00:00
2026-02-06 10:47:50 +00:00
2026-02-06 10:47:50 +00:00
2026-02-24 09:55:14 +01:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-03-21 21:42:44 -05:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-01-31 18:22:30 +01:00
2025-03-20 11:50:49 +01:00
2025-08-27 08:48:01 +02:00
2026-02-24 09:55:14 +01:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-02-01 22:48:51 +01:00
2026-03-05 17:16:42 +01:00
2025-03-20 11:50:49 +01:00
2025-10-23 13:36:26 +02:00
2025-10-23 13:36:26 +02:00
2025-10-23 13:36:26 +02:00
2025-10-23 13:36:26 +02:00
2025-10-23 13:36:26 +02:00
2024-11-05 14:02:07 +00:00
2025-01-19 15:02:38 +01:00
2024-11-05 14:02:07 +00:00
2026-02-27 17:14:50 +01:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2026-02-05 15:43:41 +01:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-03-20 15:59:44 -05:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-02-05 15:43:41 +01:00
2024-11-05 14:02:07 +00:00
2026-02-05 15:43:41 +01:00
2024-11-05 14:02:07 +00:00
2026-02-05 15:43:41 +01:00
2024-11-23 21:39:50 +00:00
2025-03-20 11:50:49 +01:00
2025-03-20 11:50:49 +01:00
2026-01-15 19:50:53 +01:00
2026-01-15 11:06:22 +00:00
2024-11-05 14:02:07 +00:00
2026-03-22 08:12:19 -05:00
2024-11-24 14:30:32 +01:00
2025-06-04 15:02:42 +01:00
2026-02-21 05:16:56 +01:00
2025-02-16 21:05:59 +01:00
2024-11-05 14:02:07 +00:00
2025-08-18 11:00:26 +01:00
2026-03-26 00:19:50 +00:00
2024-11-05 14:02:07 +00:00
2026-03-21 21:42:44 -05:00
2024-11-05 14:02:07 +00:00
2025-09-25 04:39:26 +02:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2024-11-05 14:02:07 +00:00
2025-03-20 11:50:49 +01:00
2024-11-05 14:02:07 +00:00
2024-11-24 11:10:47 +01:00