[1.33.1][serialization] bug in libs\serialization\src\basic_iarchive.cpp and proposed patch

The recent updates to Boost.Serialization code in RC_1_33_0 can provoke a crash at run-time, as shown for instance in http://tinyurl.com/dwu78 (there are other, compile-time problems that I'm not addressing in tihs post.) The problem is located in reset_object_address. The attached patch to libs\serialization\src\basic_iarchive.cpp fixes the problem in my local tests, but as I lack the knowledge to be sure, I'd rather not commit it myself and let it be confirmed to be OK. HTH Joaquín M López Muñoz Telefónica, Investigación y Desarrollo 201a202
moveable_objects_recent(0),
259a261,265
if(i >= moveable_objects_end) return; if(old_address != object_id_vector[i].address) // skip to any lower level ones ++i;

Joaquín Mª López Muñoz wrote:
The recent updates to Boost.Serialization code in RC_1_33_0 can provoke a crash at run-time, as shown for instance in http://tinyurl.com/dwu78 (there are other, compile-time problems that I'm not addressing in tihs post.)
What are these compile-time problems?
The problem is located in reset_object_address. The attached patch to libs\serialization\src\basic_iarchive.cpp fixes the problem in my local tests, but as I lack the knowledge to be sure, I'd rather not commit it myself and let it be confirmed to be OK.
I've put the fix in my local system and will be testing it soon. I don't see any harm in it but I'm not quite sure it should be necessary either. I looked at the files in multi-index and didn't find any reference to reset_object_address so I'm still a little puzzled. More information please? Robert Ramey
participants (2)
-
Joaquín Mª López Muñoz
-
Robert Ramey