mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-03 15:05:02 -06:00
Reading an object already being read is refused, which ends a cycle but not a chain. 5,000 spaces each naming the next, 180 KB of file, overflowed a 2 MiB stack and aborted the process, through a Pattern's underlying space, an Indexed base, or a Separation's or DeviceN's alternate. An ICC profile's alternate is the same recursion. Indexed, Separation and DeviceN could already do this; the fix for Pattern added a way in. A legal file goes five levels at most. All five ways through count against the one limit, in ColorSpaceType::new, so what comes in from outside is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AmsdeUCdTaD72jkDw2pJKY