id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 867,Usage of uninitialized data member,nobody,Robert Ramey,"{{{ In the attached test case, data member basic_iarchive_impl::moveable_objects_recent is used before being initialized. More specifically, the first call to basic_iarchive_impl::reset_object_address occurs before the first assignment of basic_iarchive_impl::moveable_objects_recent takes place (in basic_iarchive_impl::load_object). The usage of uninitialized data can be detected using a memory checker such as valgrind, or a debugging environment which sets uninitialized memory to distinctive values, such as Visual C++. I found this problem in 1.33.1 but I had a look at the 1.34 code in cvs and it does not appear to be fixed. In a tentative fix I initialized moveable_objects_recent in the basic_iarchive_impl constructor (to zero). This seems to work but I am not sure it is the right solution. This problem still occurs if the extra ""i++"" in basic_iarchive_impl::reset_object_address present in 1.33.1 is taken out. This bug seems to be triggered by serializing a map whose values contain vectors. }}}",Bugs,closed,,serialization,None,,Works For Me,,