Hi,

finally the problem turned out to be caused by libburn's
wrong usage of the call parameter stack.

The copy source of the failing statement is allocated too
small by the caller of function add_worker:
  struct write_opts write;
and then copied with the size of
  union w_list_data

This bug is hidden on amd64 even from valgrind. Probably
because the surplus stack bytes are normally populated with
other valid data.
But sparc and gcc -O2 make the problem visible.
libburn did this mistake for 8 years on several operating
systems and processor architectures without any indication.

The bug is supposed to be fixed by
  http://libburnia-project.org/changeset/5324

Thanks to Patrick Baggett who pointed this out against my
initial resistence to believe in an error on libburn's side.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to