Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
0.9
-
None
Description
by virtue of omitting the copy constructor, TBinaryProtocolT gets a default one generated for it which is incorrect since it's potentially managing memory (namely the string_buf_ pointer).
TBinaryProtocolT should delete/make private the copy constructor & copy assignment operator.
Under C+11, string_buf_ could be changed to a unique_ptr which would let you use the default move constructor/move assignment operator. Alternatively under C+11, a move constructor/assignment operator needs to be defined.