What's Fixed in 2.4.16.1 ======================== The following are fixes since |me| 2.4.16. .. include:: severity_levels.txt :critical:`[Critical]` When using Zero Copy, the sample returned by get_loan() could have an insufficient size -------------------------------------------------------------------------------------------------------------- When certain data types were enabled for the Zero Copy v2 transport, the value returned by ``sizeof()`` was larger than the difference between the pointers returned by the *DataWriter*'s ``get_loan()`` method. As a consequence, applications were at risk of writing outside of allocated memory boundaries. This problem has been resolved by updating an ``rtiddsgen`` code template. You must regenerate any code previously generated by ``rtiddsgen`` after installing the modified template. [RTI Issue ID MICRO-12511] :major:`[Major]` Incorrect check for multicast address ------------------------------------------------------ .. note:: This issue only affected the reference PSL, not the PIL. To determine if an IP address was a multicast address, |me| should have checked if the first byte of the address fell within the range of 224-239. However, |me| only checked if the address started with 239. If an application did not use 239 exactly, then the application would not join the multicast group and *DomainParticipant* creation could fail. [RTI Issue ID MICRO-12795] :major:`[Major]` udpv4_singlethr_init_port_entry() function caused UDP communication to fail -------------------------------------------------------------------------------------------- .. note:: This issue only affected the reference PSL, not the PIL. The ``function udpv4_singlethr_init_port_entry()`` did not initialize all fields of the ``struct sockaddr_in sock_addr`` object. This could cause the binding of a socket to fail, which then caused communication over the UDP transport to fail. [RTI Issue ID MICRO-12765]