Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dashing] Avoid memory leaks and undefined behavior in rmw_fastrtps_dynamic_cpp typesupport code #532

Closed
wants to merge 1 commit into from

Conversation

nuclearsandwich
Copy link
Member

@nuclearsandwich nuclearsandwich commented May 18, 2021

Backport of #429 for Dashing

… typesupport code (#429)

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Steven! Ragnarök <steven@nuclearsandwich.com>
@nuclearsandwich nuclearsandwich self-assigned this May 18, 2021
@nuclearsandwich nuclearsandwich added this to Proposed in Dashing Patch Release 9 via automation May 18, 2021
@nuclearsandwich nuclearsandwich moved this from Proposed to Needs Release in Dashing Patch Release 9 May 18, 2021
Copy link
Contributor

@hidmic hidmic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM pending green Dashing CI

On a related note: should we send a notification about this API break?

@nuclearsandwich
Copy link
Member Author

On a related note: should we send a notification about this API break?

Ack. I'll admit to getting ahead of myself here. As I was reviewing the change I saw no mention of public API breaks and assumed that the changed functions were internal to rmw_fastrtps_dynamic_cpp if that isn't the case then it makes zero sense to break API for the final Dashing patch release and this can just be closed.

@clalancette
Copy link
Contributor

Ack. I'll admit to getting ahead of myself here. As I was reviewing the change I saw no mention of public API breaks and assumed that the changed functions were internal to rmw_fastrtps_dynamic_cpp if that isn't the case then it makes zero sense to break API for the final Dashing patch release and this can just be closed.

The include files for rmw_fastrtps_dynamic_cpp are indeed installed into /opt/ros/dashing/include/rmw_fastrtps_dynamic_cpp, so it can be considered "public". The likelihood that someone is directly using them is very close to zero, as it is a) kind of internal rmw implementation details, and b) almost nobody is using fastrtps dynamic. But given that this is the end-of-life of Dashing, I'd err on the side of caution and not put this in.

@hidmic
Copy link
Contributor

hidmic commented May 19, 2021

I saw no mention of public API breaks and assumed that the changed functions were internal to rmw_fastrtps_dynamic_cpp

Ha, I assumed that the we were backporting anyways because the advantages (i.e. fixing UBs) outweighed the disadvantages (i.e. the infinitesimal probability of breaking downstream code that makes use of this "public" API).

But given that this is the end-of-life of Dashing, I'd err on the side of caution and not put this in.

Yeah, perhaps it's somewhat late. Though I will say that the code this patch replaces was pretty controversial, to say the least.

@nuclearsandwich
Copy link
Member Author

Thanks for the feedback y'all. If there was more clamor for these changes I'd consider it but given that no one is asking for this it makes sense to go out with the API (and bugs) we came in with.

@nuclearsandwich nuclearsandwich moved this from Needs Release to Proposed in Dashing Patch Release 9 May 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants