Hi, * Kyle Wheeler [07-04-01 00:31:56 -0600] wrote:
On Friday, March 30 at 03:29 PM, quoth Rocco Rutte:So... you're telling me that pointers are no longer stored in the hcache? Mutt (with hcache) no longer relies on malloc returning predictable results?
No. Pointers are still stored. We don't really update the hcache so that pointers could be an issue.
... I guess you mean that pointers aren't *restored*?
They are both: stored and restored. Storing a message happens is just right after it got fetched from the server so that at that point there isn't data behind those pointers, they're just NULL. After reading the message from the cache, mutt gets NULL pointers all the time and thus behaves exactly as it would without the cache because the message is the same as it was after the fetch.
That's why it's so difficult to fix the issue because we need to identify which pointers may contain garbage and which don't.
My first approach (which was rejected) was with a whitelist, i.e. storing only pointers we also dump/restore data for. The right approach was considered to be a blacklist one that only sets "dangerous" pointers to NULL. I failed to implement that because of the above reason. Hence the issue is still open...
bye, Rocco -- :wq!