> If it indeed comes from the "uninitialized" (non-written) part of heap or
> stack, kernel has handily zeroed it for you...
I've learnt from a winning entry of the underhanded C contest that "uninitialized" stack can
contain interesting data, i.e., stack frames of previous calls. The same can be said about
heap space, as long as someone used the free() function some time ago, and the heap space is
reused from there. The data is not necessarily constant, since the data stored might reflect
the environment, e.g., it might contain the stat buffer so it contains data like the last
access time of files. Or somebody called time() and put the result in the stack or heap, used
it and later free, and the space end up being reused. Of course, all these does not seem like
a good source of untainted randomness.