Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4d91de4

Browse files
committed
Auto merge of #137181 - cuviper:stable-next, r=cuviper
Prepare Rust 1.85.0 stable release This includes a relnotes sync and a few last-minute backports: - change `literal_string_with_formatting_args` lint category to nursery #136982 - Update the reference for reverted `extended_varargs_abi_support` #136934 - fix musl's CVE-2025-26519 #137127 r? cuviper
2 parents 461de74 + 86193fa commit 4d91de4

File tree

9 files changed

+311
-57
lines changed

9 files changed

+311
-57
lines changed

‎.github/workflows/ci.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,6 @@ jobs:
130130
# which then uses log commands to actually set them.
131131
EXTRA_VARIABLES: ${{ toJson(matrix.env) }}
132132

133-
- name: setup upstream remote
134-
run: src/ci/scripts/setup-upstream-remote.sh
135-
136133
- name: ensure the channel matches the target branch
137134
run: src/ci/scripts/verify-channel.sh
138135

‎RELEASES.md

Lines changed: 264 additions & 2 deletions
Large diffs are not rendered by default.

‎src/build_helper/src/git.rs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
use std::path::{Path, PathBuf};
22
use std::process::{Command, Stdio};
33

4-
use crate::ci::CiEnv;
5-
64
pub struct GitConfig<'a> {
75
pub git_repository: &'a str,
86
pub nightly_branch: &'a str,
@@ -116,8 +114,8 @@ fn git_upstream_merge_base(
116114

117115
/// Searches for the nearest merge commit in the repository that also exists upstream.
118116
///
119-
/// It looks for the most recent commit made by the merge bot by matching the author's email
120-
/// address with the merge bot's email.
117+
/// If it fails to find the upstream remote, it then looks for the most recent commit made
118+
/// by the merge bot by matching the author's email address with the merge bot's email.
121119
pub fn get_closest_merge_commit(
122120
git_dir: Option<&Path>,
123121
config: &GitConfig<'_>,
@@ -129,15 +127,7 @@ pub fn get_closest_merge_commit(
129127
git.current_dir(git_dir);
130128
}
131129

132-
let merge_base = {
133-
if CiEnv::is_ci() {
134-
git_upstream_merge_base(config, git_dir).unwrap()
135-
} else {
136-
// For non-CI environments, ignore rust-lang/rust upstream as it usually gets
137-
// outdated very quickly.
138-
"HEAD".to_string()
139-
}
140-
};
130+
let merge_base = git_upstream_merge_base(config, git_dir).unwrap_or_else(|_| "HEAD".into());
141131

142132
git.args([
143133
"rev-list",

‎src/ci/channel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
beta
1+
stable

‎src/ci/docker/scripts/musl.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,47 @@ MUSL=musl-1.2.3
3030
# may have been downloaded in a previous run
3131
if [ ! -d $MUSL ]; then
3232
curl https://www.musl-libc.org/releases/$MUSL.tar.gz | tar xzf -
33+
34+
# Apply patches for CVE-2025-26519. At the time of adding these patches no release containing them
35+
# has been published by the musl project, so we just apply them directly on top of the version we
36+
# were distributing already. The patches should be removed once we upgrade to musl >= 1.2.6.
37+
#
38+
# Advisory: https://www.openwall.com/lists/musl/2025/02/13/1
39+
#
40+
# Patches applied:
41+
# - https://www.openwall.com/lists/musl/2025/02/13/1/1
42+
# - https://www.openwall.com/lists/musl/2025/02/13/1/2
43+
#
44+
# ignore-tidy-tab
45+
# ignore-tidy-linelength
46+
patch -p1 -d $MUSL <<EOF
47+
--- a/src/locale/iconv.c
48+
+++ b/src/locale/iconv.c
49+
@@ -502,7 +502,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
50+
if (c >= 93 || d >= 94) {
51+
c += (0xa1-0x81);
52+
d += 0xa1;
53+
- if (c >= 93 || c>=0xc6-0x81 && d>0x52)
54+
+ if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52)
55+
goto ilseq;
56+
if (d-'A'<26) d = d-'A';
57+
else if (d-'a'<26) d = d-'a'+26;
58+
EOF
59+
patch -p1 -d $MUSL <<EOF
60+
--- a/src/locale/iconv.c
61+
+++ b/src/locale/iconv.c
62+
@@ -545,6 +545,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
63+
if (*outb < k) goto toobig;
64+
memcpy(*out, tmp, k);
65+
} else k = wctomb_utf8(*out, c);
66+
+ /* This failure condition should be unreachable, but
67+
+ * is included to prevent decoder bugs from translating
68+
+ * into advancement outside the output buffer range. */
69+
+ if (k>4) goto ilseq;
70+
*out += k;
71+
*outb -= k;
72+
break;
73+
EOF
3374
fi
3475

3576
cd $MUSL

‎src/ci/scripts/setup-upstream-remote.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.

‎src/ci/shared.sh

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,3 @@ function releaseChannel {
137137
echo $RUST_CI_OVERRIDE_RELEASE_CHANNEL
138138
fi
139139
}
140-
141-
# Parse values from src/stage0 file by key
142-
function parse_stage0_file_by_key {
143-
local key="1ドル"
144-
local file="$ci_dir/../stage0"
145-
local value=$(awk -F= '{a[1ドル]=2ドル} END {print(a["'$key'"])}' $file)
146-
if [ -z "$value" ]; then
147-
echo "ERROR: Key '$key' not found in '$file'."
148-
exit 1
149-
fi
150-
echo "$value"
151-
}

‎src/doc/reference

‎src/tools/clippy/clippy_lints/src/literal_string_with_formatting_args.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ declare_clippy_lint! {
3131
/// ```
3232
#[clippy::version = "1.83.0"]
3333
pub LITERAL_STRING_WITH_FORMATTING_ARGS,
34-
suspicious,
34+
nursery,
3535
"Checks if string literals have formatting arguments"
3636
}
3737

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /