5.4.20. Data Corruption

5.4.20.1. [Critical] Potential corruption in samples with sequences of strings when using Traditional C++ API and std::string

When using the Traditional C++ API and generating code using -useStdString, received samples with fields of sequences of strings (sequence<string>) may have contained corrupted elements. Specifically, the elements (std::string) could have more characters than expected, due to a desynchronization between the C++ string and its underlying buffer, such as x.length() != std::strlen(x.c_str()).

[RTI Issue ID CORE-15229]

5.4.20.2. [Critical] Rare race condition may have led to undefined behavior

The fix for RTI Issue ID CORE-14893 in 7.4.0 (see Other) was incomplete; there were still some conditions that could have led to the race condition.

[RTI Issue ID CORE-15199]

5.4.20.3. [Major] Possible data corruption when using ISerializer<T> to serialize a sample

When using an ISerializer<T> object with Xcdr1 data representation, operations such as serializing or retrieving the serialized sample’s size may have produced incorrect results.

[RTI Issue ID CORE-14933]