On 12/01/2015 04:16, David Feuer wrote:
I think this is a good idea too. I don't think a scrubbing finalizer
can give Erik the timing guarantees he wants (at least not without
forcing a major collection by hand, and worrying about stray
references), but it does seem likely to be a good thing to have around
anyway. Note that for something like a password, you also have to be
careful about things like input buffers. I imagine a hypothetical
SecureByteString and/or SecureText would have to offer special IO as
well.
securemem has a finalizeSecureMem [1] which is just a wrapper for finalizeForeignPtr, which
run the finalizer immediately.

I agree though, that you might want the whole package of secure input/output functions
to be able to handle it end-to-end, and securemem was always a paving stone in this direction for me.

[1] finalizeSecureMem

--
Vincent