Skip to content

[25475] Catch exception when constructing a payload pool Node (backport #6460)#6462

Merged
MiguelCompany merged 1 commit into
2.14.xfrom
mergify/bp/2.14.x/pr-6460
Jul 3, 2026
Merged

[25475] Catch exception when constructing a payload pool Node (backport #6460)#6462
MiguelCompany merged 1 commit into
2.14.xfrom
mergify/bp/2.14.x/pr-6460

Conversation

@mergify

@mergify mergify Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes a common misuse of std::nothrow. Calling new (std::nothrow) T() only avoids throwing when allocating T, but exceptions thrown when executing T's constructor are not avoided.

This fixes the problem by capturing std::bad_alloc when creating the node.

A regression test is also added.

@Mergifyio backport 3.2.x 2.14.x

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • N/A: New feature has been added to the versions.md file (if applicable).

  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • N/A: If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #6460 done by [Mergify](https://mergify.com).

@MiguelCompany MiguelCompany added this to the v2.14.7 milestone Jul 2, 2026
@MiguelCompany
MiguelCompany self-requested a review July 2, 2026 08:18
MiguelCompany
MiguelCompany previously approved these changes Jul 2, 2026
@github-actions github-actions Bot added the ci-pending PR which CI is running label Jul 2, 2026
* Refs #25475. Regression test.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #25475. Capture exception when constructing PayloadNode.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #25475. Bonus: avoid using sizeof(NodeInfo).

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #25475. Fix uncrustify.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 31ece6f)
@MiguelCompany
MiguelCompany force-pushed the mergify/bp/2.14.x/pr-6460 branch from 5af647a to 726c05f Compare July 2, 2026 08:54
@MiguelCompany
MiguelCompany self-requested a review July 2, 2026 08:54
@MiguelCompany
MiguelCompany merged commit d4ce297 into 2.14.x Jul 3, 2026
20 of 21 checks passed
@MiguelCompany
MiguelCompany deleted the mergify/bp/2.14.x/pr-6460 branch July 3, 2026 05:59
MiguelCompany added a commit that referenced this pull request Jul 3, 2026
* Refs #25475. Regression test.

* Refs #25475. Capture exception when constructing PayloadNode.

* Refs #25475. Bonus: avoid using sizeof(NodeInfo).

* Refs #25475. Fix uncrustify.

---------

(cherry picked from commit 31ece6f)

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Jul 6, 2026
* Dynamic memory topic payload pool properly handle Zero sized payloads (#3606)

* Refs #13608: unittests dynamic memory topic payload with zero size

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #13608: BB test discovery issue #1929

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #13608: Fix

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #13608: Reviewer change

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

---------

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
(cherry picked from commit 6726896)

* Catch exception when constructing a payload pool Node (#6462)

* Refs #25475. Regression test.

* Refs #25475. Capture exception when constructing PayloadNode.

* Refs #25475. Bonus: avoid using sizeof(NodeInfo).

* Refs #25475. Fix uncrustify.

---------

(cherry picked from commit 31ece6f)

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>

* Uncrustify.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Skip base when deducing Fast DDS python branch in 2.6.x

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Mario Domínguez López <116071334+Mario-DL@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant