Skip to content

Commit 1f71a3e

Browse files
committed
---
yaml --- r: 7619 b: refs/heads/master c: de2bb28 h: refs/heads/master i: 7617: 34f60cd 7615: 468636b v: v3
1 parent f08cb23 commit 1f71a3e

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 556947c47a45db44702251552d4cb10ef8f1eb3f
2+
refs/heads/master: de2bb2806f02aa668e9cda8a86ec5b62c595c09b

trunk/src/libstd/md4.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
fn md4(msg: [u8]) -> {a: u32, b: u32, c: u32, d: u32} {
2-
let orig_len = vec::len(msg) * 8u;
2+
// subtle: if orig_len is merely uint, then the code below
3+
// which performs shifts by 32 bits or more has undefined
4+
// results.
5+
let orig_len: u64 = (vec::len(msg) * 8u) as u64;
6+
37
// pad message
48
let msg = msg + [0x80u8];
59
let bitlen = orig_len + 8u;
610
while (bitlen + 64u) % 512u > 0u {
711
msg += [0u8];
812
bitlen += 8u;
913
}
14+
1015
// append length
1116
let i = 0u;
1217
while i < 8u {

0 commit comments

Comments
 (0)