5.9. Memory Leaks/Growth

5.9.1. [Critical] Unbounded memory leak if identity certificate file was polled and emptied repeatedly*

Consider the following scenario:

  • The dds.sec.auth.identity_certificate property is set to a file on the file system.

  • The files_poll_interval property is unset or set to a value other than 0.

  • After you create the DomainParticipant, the certificate file on the file system is emptied.

In this scenario, the Builtin Security Plugins will correctly fail to read the updated certificate file and print this error:

ERROR RTI_Security_Util_uriToStringBuiltin:!failed to read from file

When this scenario occurred in previous releases, the problem was that a memory leak of one byte accompanied this error. Repeatedly “touching” (i.e., updating the “last modified” timestamp of) this empty file resulted in repeated one-byte memory leaks.

The unbounded memory leak only affected versions 7.2.0, and 7.3.0 to 7.3.0.2.

[RTI Issue ID SEC-2525]

5.9.2. [Major] Memory leak when setting a subject name whitelist while security was not enabled*

When setting the DomainParticipant property dds.participant.trust_plugins.subject_name_whitelist without enabling the Security Plugins, a memory leak occurred in the internal function PRESParticipant_storeMutableProperty. To prevent this issue, setting dds.participant.trust_plugins.subject_name_whitelist is now allowed only when the Security Plugins are enabled. Otherwise, DDS_DomainParticipantFactory_create_participant returns NULL and DDS_DomainParticipant_set_qos returns DDS_RETCODE_NOT_ALLOWED_BY_SECURITY .

[RTI Issue ID SEC-2731]



* This bug did not affect you if you are upgrading from 6.1.x or earlier.