"Preuße, Hilmar" <[email protected]> writes:

> As far as I understood there are some (random) bytes inserted, which
> remain invisible to the consumer but are nevertheless there and make
> the file building not fully reproducible, correct?

My understanding is that the relevant sequence of events is as follows:

- pdfTeX's write_png_palette passes libpng a heap-allocated buffer whose
  contents are already nondeterministic for some reason.  (I'm not clear
  on how that comes about; I'd been wondering if it could be a side
  effect of ASLR, but running under setarch -R doesn't help, and I've
  confirmed that setarch -R *does* stabilize ldd output on the host in
  question.)
- libpng correctly populates the bits that hold actual pixel data and
  leaves any trailing bits exactly as is.  It could of course clear them
  instead, but that would add (a little) overhead for what is typically
  no benefit.
- pdfTeX writes the the row buffer out as is, modulo compression.

-- 
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/[email protected]

Reply via email to