libc::free is used in the destructor and the other constructors also use libc::malloc. Should they also be updated?