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

merge queue: embarking 2.24-maintenance (22c24a8) and [#12187 + #12188 + #12190 + #12191 + #12192] together #12222

Closed
wants to merge 10 commits into from

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jan 10, 2025

🎉 This combination of pull requests has been checked successfully and will be merged soon. 🎉

Branch 2.24-maintenance (22c24a8) and [#12187 + #12188 + #12190 + #12191 + #12192] are embarked together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of [#12187 + #12188 + #12190 + #12191 + #12192].
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue default for merge:

  • check-success=installer test on macos
  • check-success=installer test on ubuntu
  • check-success=tests on macos
  • check-success=tests on ubuntu
  • check-success=vm_tests
  • any of [🛡 GitHub branch protection]:
    • check-success = installer test on macos
    • check-neutral = installer test on macos
    • check-skipped = installer test on macos
  • any of [🛡 GitHub branch protection]:
    • check-success = installer test on ubuntu
    • check-neutral = installer test on ubuntu
    • check-skipped = installer test on ubuntu
  • any of [🛡 GitHub branch protection]:
    • check-success = tests on macos
    • check-neutral = tests on macos
    • check-skipped = tests on macos
  • any of [🛡 GitHub branch protection]:
    • check-success = tests on ubuntu
    • check-neutral = tests on ubuntu
    • check-skipped = tests on ubuntu

Required conditions to stay in the queue:

---
previous_failed_batches: []
pull_requests:
  - number: 12187
  - number: 12188
  - number: 12190
  - number: 12191
  - number: 12192
...

h0nIg and others added 10 commits January 10, 2025 09:58
This patch gets rid of UB when verbosity exceeds the maximum logging value of `lvlVomit = 7` and
reaches invalid values (e.g. 8). This is actually triggered in functional tests.
There are too many occurrences to list, but here's one from the UBSAN log:

../src/libstore/gc.cc:610:5: runtime error: load of value 8, which is not a valid value for type 'Verbosity'

(cherry picked from commit b9f8c4a)
Unfortunately `StringSource` class is very easy was very easy to misuse
because the ctor took a plain `std::string_view` which has a bad habit
of being implicitly convertible from an rvalue `std::string`. This lead
to unintentional use-after-free bugs.

This patch makes `StringSource` much harder to misuse by disabling the ctor
from a `std::string &&` (but `const std::string &` is ok).

Fix affected tests from libstore-tests.
Reformat those tests with clangd's range formatting since the diff is tiny
and it seems appropriate.

(cherry picked from commit 5bc8957)
(cherry picked from commit defff01)

# Conflicts:
#	doc/manual/source/language/string-literals.md
@mergify mergify bot closed this Jan 10, 2025
@mergify mergify bot deleted the mergify/merge-queue/b61369660c branch January 10, 2025 19:35
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.

4 participants