crypt_free() might not zero enough?

I think there's a bug where we only zero ptrsize bytes, rather than the entire thing.