mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
Reference used to be clever and stored the index of a ref in 18 bits and the generation in 14 bits, so that both fit into a single u32. However: - It set MAX_REF_INDEX incorrectly (the max value of an 18-bit number is `(1 << 18) - 1`, not `(1 << 19) - 1` - pdf_reference_1-7.pdf has 349223 objects, and that's larger than `(1 << 18) - 1` (which is 262143) Since a Reference is stored in Value which is a Variant that also stores a pointer, the size of Value is already 64-bit. So just don't be clever here. Makes pdf_reference_1-7.pdf get a bit further during decryption.
676 B
676 B