vectorcraft/crates
bflatastic 991ce2c635 Importers: PDF streams the reader would fail on are refused (#1700, #1701)
hayro (0.7.2 and 0.8.0 alike) inflates Flate and LZW data with no ceiling, so a few megabytes
of zeros ask for gigabytes, and applies a predictor before checking its parameters: Columns 0
divides by zero (a panic, an abort on the web), a huge Columns allocates a row that large (an
abort everywhere). Both happen inside the reader, before any of our limits.

A file is refused ("a stream in it would decode to more than 256 MB, or its decode parameters
can't be applied") when a stream's decode parameters ask for a predictor the reader can't apply,
or when it decodes past 256 MB through Flate, LZW, run-length and the ASCII encodings before
them, decoded here with a ceiling (only streams large enough to get there are decoded). Every
object's stream is looked at once the file is open (decrypted, references followed), with the
inline images of anything that can be content; object and cross-reference streams, which the
reader decodes while it opens the file, are looked at first in the file's text.
2026-10-14 10:13:45 +07:00
..
affinity Fix #1704: an Affinity document's pixel layers share one pixel allowance 2026-10-14 09:00:42 +07:00
brush Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
cad Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
color ICC profiles written here have their tags 4-byte aligned 2026-10-13 10:52:38 +07:00
doc Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
effects Fix #1724: 3D effects on a nonzero compound path keep the area its contours fill 2026-10-14 09:02:28 +07:00
engine Importers: PDF streams the reader would fail on are refused (#1700, #1701) 2026-10-14 10:13:45 +07:00
eps Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
format Importers: PDF nesting inside compressed streams no longer crashes (hayro 0.8) 2026-10-14 10:13:45 +07:00
geom PDF/EPS import: a clip only counts as covering the page when it does 2026-10-13 08:51:40 +07:00
mcp MCP: a connection holding bytes nobody asked for is replaced before the request is sent 2026-10-14 04:31:44 +07:00
metafile Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
pathops Fix #1462: Split Into Grid has its row and column sizes, gutters, totals, Add Guides and Preview 2026-10-13 02:48:36 +07:00
pdf Importers: PDF streams the reader would fail on are refused (#1700, #1701) 2026-10-14 10:13:45 +07:00
plugins Plug-ins: numeric defaults stay in their declared range 2026-10-13 02:21:35 +07:00
render Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
scriptcheck Scripts: Check Script… reports what a .jsx script needs and does, without running it 2026-10-13 13:36:41 +07:00
svg Importers: a brush that draws itself by name no longer crashes 2026-10-14 10:13:45 +07:00
testkit Fix #1387: a .ai whose PDF part is only text opens from it 2026-10-12 19:50:53 +07:00
text Fonts: a missing font's name is looked up once until fonts are added or rescanned 2026-10-14 06:01:10 +07:00
three-d Fix #1724: 3D effects on a nonzero compound path keep the area its contours fill 2026-10-14 09:02:28 +07:00
tools Marquee guide selection: one shared helper for both selection tools 2026-10-14 08:01:50 +07:00
trace Image Trace: gradients grown over noise and soft rims 2026-10-14 07:14:07 +07:00
ui-egui Fix #1685: a save or export that fails is reported in a dialog that stays 2026-10-14 09:03:51 +07:00