Curl now uses the idiom where the linked list data (prev/next pointers) are inlined in the same struct that also holds the payload
And when you have a memory overwrite then your meta data is corrupted and you loose the complete list. I keep my meta data and payload in two separate list for that very reason.