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 21:49:40 +02:00
2025-12-15 09:47:25 +00:00
2026-03-30 15:43:39 +01:00
2026-04-05 12:34:28 +02:00
2026-01-31 16:56:05 +01:00
2026-04-13 09:57:01 +02:00
2026-04-23 09:23:02 +01:00
2026-04-27 16:22:11 +02:00
2026-01-29 14:59:32 +01:00
2026-04-13 09:57:01 +02:00
2026-03-20 15:59:44 -05:00
2026-04-22 15:35:07 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-01-19 17:34:46 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-10 11:58:15 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-19 17:34:46 +01:00
2026-02-14 18:44:50 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-26 10:00:17 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-04-09 21:41:49 +01:00
2025-12-15 09:47:25 +00:00
2026-03-29 12:05:25 +02:00
2026-03-29 12:05:25 +02:00
2026-03-29 12:05:25 +02:00
2026-03-29 12:05:25 +02:00
2026-03-29 12:05:25 +02:00
2026-03-29 12:05:25 +02:00
2026-02-15 17:47:30 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-02 14:36:49 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-22 19:36:09 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-07 12:21:16 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-03-03 16:20:10 +01:00
2025-12-15 09:47:25 +00:00
2026-01-26 16:41:42 +01:00
2026-03-10 19:08:15 +00:00
2026-03-10 19:08:15 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-03-24 05:13:49 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-09 00:13:05 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2026-01-09 00:13:05 +01:00
2025-12-15 09:47:25 +00:00
2026-01-09 00:13:05 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-25 12:03:31 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-02 14:11:43 +00:00
2025-12-15 09:47:25 +00:00
2026-03-02 13:24:20 +01:00
2025-12-15 09:47:25 +00:00
2026-01-05 16:09:51 +01:00
2026-01-05 16:09:51 +01:00
2026-01-05 16:09:51 +01:00
2026-01-05 16:09:51 +01:00
2026-01-05 16:09:51 +01:00
2026-03-21 23:16:32 -05:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-08-27 11:53:45 +01:00
2026-02-23 07:27:31 +01:00
2025-12-15 09:47:25 +00:00
2026-02-23 07:27:31 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-26 16:48:21 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-04-06 12:35:12 +02:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-07 12:21:16 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-22 19:36:09 +01:00
2026-01-29 14:59:32 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-26 10:00:17 +01:00
2026-03-02 13:24:20 +01:00
2026-02-11 11:04:53 +01:00
2026-03-21 07:40:25 +00:00
2026-02-11 11:04:53 +01:00
2025-12-15 09:47:25 +00:00
2026-04-13 09:57:01 +02:00
2026-04-06 12:35:12 +02:00
2026-04-13 09:57:01 +02:00
2026-02-11 11:04:53 +01:00
2026-02-02 14:36:49 +00:00
2026-03-02 13:24:20 +01:00
2026-03-02 13:24:20 +01:00
2026-04-03 23:28:39 +02:00
2026-04-06 12:35:12 +02:00
2026-02-11 11:04:53 +01:00
2025-12-15 09:47:25 +00:00
2026-02-11 11:04:53 +01:00
2025-12-15 09:47:25 +00:00
2026-01-26 16:41:42 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-11 11:04:32 +01:00
2025-12-15 09:47:25 +00:00
2026-01-26 16:41:42 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-03-23 11:34:33 +01:00
2026-03-23 11:34:33 +01:00
2026-02-07 12:21:16 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-04-24 19:08:28 +02:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 12:47:34 +01:00
2025-12-15 09:47:25 +00:00
2026-03-29 12:05:25 +02:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-11 11:04:53 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-04-05 10:42:32 +02:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2026-01-29 14:59:32 +01:00
2026-04-22 09:15:29 -04:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-17 15:59:59 +01:00
2025-12-15 09:47:25 +00:00
2026-02-26 09:23:23 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2026-04-22 15:35:07 +01:00
2026-03-23 16:40:38 +01:00
2026-03-23 16:40:38 +01:00
2026-03-23 16:40:38 +01:00
2025-12-15 09:47:25 +00:00
2026-04-29 20:28:15 +02:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-02 14:36:49 +00:00
2026-02-02 14:36:49 +00:00
2026-02-02 14:36:49 +00:00
2026-02-02 14:36:49 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2026-01-31 16:56:05 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-02-11 11:04:53 +01:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-08-27 11:53:45 +01:00
2025-08-27 11:53:45 +01:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00
2026-01-29 14:59:32 +01:00
2025-12-15 09:47:25 +00:00