If your constructor market\_message::market\_message( std::ifstream& in ) exits before allocating memory at msg\_, you will clean non-allocated memory.