Skip to content

Commit 6c83054

Browse files
authored
yescrypt: fixes for clippy::cast_lossless (#699)
These were all auto-applied via `cargo clippy --fix`
1 parent 3270be7 commit 6c83054

File tree

5 files changed

+24
-24
lines changed

5 files changed

+24
-24
lines changed

yescrypt/src/encoding.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub(crate) fn decode64<'o>(src: &str, dst: &'o mut [u8]) -> Result<&'o [u8]> {
3636
_ => return Err(Error::Encoding),
3737
};
3838

39-
value |= (c as u32) << bits;
39+
value |= u32::from(c) << bits;
4040
bits += 6;
4141
i += 1;
4242
}
@@ -81,15 +81,15 @@ pub(crate) fn decode64_uint32(src: &[u8], mut pos: usize, min: u32) -> Result<(u
8181
pos += 1;
8282

8383
let mut dst = min;
84-
while c as u32 > end {
84+
while u32::from(c) > end {
8585
dst += (end + 1 - start) << bits;
8686
start = end + 1;
8787
end = start + (62 - end) / 2;
8888
chars += 1;
8989
bits += 6;
9090
}
9191

92-
dst += ((c as u32) - start) << bits;
92+
dst += (u32::from(c) - start) << bits;
9393

9494
while chars > 1 {
9595
chars -= 1;
@@ -105,7 +105,7 @@ pub(crate) fn decode64_uint32(src: &[u8], mut pos: usize, min: u32) -> Result<(u
105105
pos += 1;
106106

107107
bits -= 6;
108-
dst += (c as u32) << bits;
108+
dst += u32::from(c) << bits;
109109
}
110110

111111
Ok((dst, pos))
@@ -142,7 +142,7 @@ pub(crate) fn encode64<'o>(src: &[u8], out: &'o mut [u8]) -> Result<&'o str> {
142142
let mut value = 0u32;
143143
let mut bits = 0u32;
144144
while bits < 24 && i < src.len() {
145-
value |= (src[i] as u32) << bits;
145+
value |= u32::from(src[i]) << bits;
146146
bits += 8;
147147
i += 1;
148148
}

yescrypt/src/lib.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
)]
88
#![deny(unsafe_code)]
99
#![warn(
10-
// TODO: clippy::cast_lossless,
10+
clippy::cast_lossless,
1111
// TODO: clippy::cast_possible_truncation,
1212
clippy::cast_possible_wrap,
1313
clippy::cast_precision_loss,
@@ -177,8 +177,8 @@ pub fn yescrypt_kdf(passwd: &[u8], salt: &[u8], params: &Params, out: &mut [u8])
177177
let mut dk = [0u8; 32];
178178
if params.mode.is_rw()
179179
&& params.p >= 1
180-
&& params.n / (params.p as u64) >= 0x100
181-
&& params.n / (params.p as u64) * (params.r as u64) >= 0x20000
180+
&& params.n / u64::from(params.p) >= 0x100
181+
&& params.n / u64::from(params.p) * u64::from(params.r) >= 0x20000
182182
{
183183
let mut prehash_params = *params;
184184
prehash_params.n >>= 6;
@@ -206,11 +206,11 @@ fn yescrypt_kdf_body(
206206
let p = params.p;
207207
let t = params.t;
208208

209-
if !((out.len() as u64 <= u32::MAX as u64 * 32)
210-
&& ((r as u64) * (p as u64) < (1 << 30) as u64)
209+
if !((out.len() as u64 <= u64::from(u32::MAX) * 32)
210+
&& (u64::from(r) * u64::from(p) < (1 << 30) as u64)
211211
&& !(n & (n - 1) != 0 || n <= 1 || r < 1 || p < 1)
212-
&& !(r as u64 > u64::MAX / 128 / (p as u64) || n > u64::MAX / 128 / (r as u64))
213-
&& (n <= u64::MAX / ((t as u64) + 1)))
212+
&& !(u64::from(r) > u64::MAX / 128 / u64::from(p) || n > u64::MAX / 128 / u64::from(r))
213+
&& (n <= u64::MAX / (u64::from(t) + 1)))
214214
{
215215
return Err(Error::Params);
216216
}

yescrypt/src/params.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ impl Params {
8181
}
8282

8383
if mode.is_rw()
84-
&& (n / (p as u64) <= 1
84+
&& (n / u64::from(p) <= 1
8585
|| r < RMIN as u32
86-
|| p as u64 > u64::MAX / (3 * (1 << 8) * 2 * 8)
87-
|| p as u64 > u64::MAX / (size_of::<PwxformCtx<'_>>() as u64))
86+
|| u64::from(p) > u64::MAX / (3 * (1 << 8) * 2 * 8)
87+
|| u64::from(p) > u64::MAX / (size_of::<PwxformCtx<'_>>() as u64))
8888
{
8989
return Err(Error::Params);
9090
}
@@ -137,7 +137,7 @@ impl Params {
137137
return Err(Error::Params);
138138
}
139139

140-
if (self.r as u64) * (self.p as u64) >= (1 << 30) {
140+
if u64::from(self.r) * u64::from(self.p) >= (1 << 30) {
141141
return Err(Error::Params);
142142
}
143143

yescrypt/src/pwxform.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,13 @@ impl PwxformCtx<'_> {
118118
// 5: for k = 0 to PWXsimple - 1 do
119119
for k in 0..PWXSIMPLE {
120120
// 6: B_{j,k} <-- (hi(B_{j,k}) * lo(B_{j,k}) + S0_{p0,k}) xor S1_{p1,k}
121-
let s0 = ((p0[k][1] as u64) << 32).wrapping_add(p0[k][0] as u64);
122-
let s1 = ((p1[k][1] as u64) << 32).wrapping_add(p1[k][0] as u64);
121+
let s0 = (u64::from(p0[k][1]) << 32).wrapping_add(u64::from(p0[k][0]));
122+
let s1 = (u64::from(p1[k][1]) << 32).wrapping_add(u64::from(p1[k][0]));
123123

124124
xl = xptr[j][k][0];
125125
xh = xptr[j][k][1];
126126

127-
let mut x = (xh as u64).wrapping_mul(xl as u64);
127+
let mut x = u64::from(xh).wrapping_mul(u64::from(xl));
128128
x = x.wrapping_add(s0);
129129
x ^= s1;
130130

yescrypt/src/smix.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub(crate) fn smix(
3232
let s = 32 * r;
3333

3434
// 1: n <-- N / p
35-
let mut nchunk = n / (p as u64);
35+
let mut nchunk = n / u64::from(p);
3636

3737
// 2: Nloop_all <-- fNloop(n, t, flags)
3838
let mut nloop_all = nchunk;
@@ -43,20 +43,20 @@ pub(crate) fn smix(
4343
}
4444
nloop_all = nloop_all.div_ceil(3); // 1/3, round up
4545
} else {
46-
nloop_all *= t as u64 - 1;
46+
nloop_all *= u64::from(t) - 1;
4747
}
4848
} else if t != 0 {
4949
if t == 1 {
5050
nloop_all += nloop_all.div_ceil(2) // 1.5, round up
5151
}
52-
nloop_all *= t as u64;
52+
nloop_all *= u64::from(t);
5353
}
5454

5555
// 6: Nloop_rw <-- 0
5656
let mut nloop_rw = 0;
5757
if mode.is_rw() {
5858
// 4: Nloop_rw <-- Nloop_all / p
59-
nloop_rw = nloop_all / (p as u64);
59+
nloop_rw = nloop_all / u64::from(p);
6060
}
6161

6262
// 8: n <-- n - (n mod 2)
@@ -298,7 +298,7 @@ fn smix2(
298298
/// Return the result of parsing B_{2r-1} as a little-endian integer.
299299
fn integerify(b: &[u32], r: usize) -> u64 {
300300
let x = &b[((2 * r) - 1) * 16..];
301-
((x[13] as u64) << 32).wrapping_add(x[0] as u64)
301+
(u64::from(x[13]) << 32).wrapping_add(u64::from(x[0]))
302302
}
303303

304304
/// Largest power of 2 not greater than argument.

0 commit comments

Comments
 (0)