Skip to content

fix(iovec-util): rework IOVEC_MAKE_STRING() to work with compound initialized input - #414

Open
deepin-ci-robot wants to merge 1 commit into
deepin-community:masterfrom
deepin-ci-robot:backport/fix-iovec-util-rework-iovec-make-string-compound-input
Open

fix(iovec-util): rework IOVEC_MAKE_STRING() to work with compound initialized input#414
deepin-ci-robot wants to merge 1 commit into
deepin-community:masterfrom
deepin-ci-robot:backport/fix-iovec-util-rework-iovec-make-string-compound-input

Conversation

@deepin-ci-robot

Copy link
Copy Markdown
Contributor

Problem Before the Change

IOVEC_MAKE_STRING() was implemented with a GCC statement expression (({})). When the parameter passed in is itself allocated via a compound initialized array (or similar construct), this could cause memory corruption. In addition, both IOVEC_MAKE_STRING() and IOVEC_MAKE() produced compiler warnings when passed const parameters.

What This PR Changes

Reworks IOVEC_MAKE_STRING() to use a small static inline helper iovec_make_string() that fills a compound-literal struct iovec instead of a statement expression, and makes IOVEC_MAKE() cast the base pointer to void* so that both macros accept const parameters without compiler warnings.

Problem Solved After the Change

Eliminates the risk of memory corruption when IOVEC_MAKE_STRING() is used with compound initialized input, and removes compiler warnings for const inputs.

Changes

  • Add debian/patches/fix-iovec-util-rework-iovec-make-string-compound-input.patch
  • Modify debian/patches/series
  • Modify debian/changelog

Upstream

systemd/systemd@33d1febb

Generated-By: glm-5.3-flash
Co-Authored-By: deepin-ci-robot packages@deepin.org

…tialized input

This avoids the ({}) that IOVEC_MAKE_STRING() so far used and might
cause a memory corruption if the parameter passed in is itself allocated
via a compount initialized array or so.

Also, this makes sure both IOVEC_MAKE_STRING() and IOVEC_MAKE() accept
'const' parameters without this causing a compiler warning.

Changes:
  - Add debian/patches/fix-iovec-util-rework-iovec-make-string-compound-input.patch
  - Modify debian/patches/series
  - Modify debian/changelog

Upstream: systemd/systemd@33d1feb

Generated-By: glm-5.3-flash
Co-Authored-By: deepin-ci-robot <packages@deepin.org>
@deepin-ci-robot

Copy link
Copy Markdown
Contributor Author

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign zeno-sole for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

TAG Bot

TAG: 255.2-4deepin68
EXISTED: no
DISTRIBUTION: unstable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant