From c649cbe039b6d9dc6eb117045903f51409cb7d58 Mon Sep 17 00:00:00 2001 From: Klaus Crusius Date: Sun, 6 Dec 2020 18:46:42 +0100 Subject: [PATCH] fixed bug in SHA.jl --- stdlib/SHA/src/SHA.jl | 2 +- stdlib/SHA/test/runtests.jl | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/stdlib/SHA/src/SHA.jl b/stdlib/SHA/src/SHA.jl index 7edaab403156a..ac93fdf13f442 100644 --- a/stdlib/SHA/src/SHA.jl +++ b/stdlib/SHA/src/SHA.jl @@ -124,7 +124,7 @@ for (f, ctx) in [(:sha1, :SHA1_CTX), end function $g(key::Vector{UInt8}, io::IO, chunk_size=4*1024) ctx = HMAC_CTX($ctx(), key) - buff = Vector{UInt8}(chunk_size) + buff = Vector{UInt8}(undef, chunk_size) while !eof(io) num_read = readbytes!(io, buff) update!(ctx, buff, num_read) diff --git a/stdlib/SHA/test/runtests.jl b/stdlib/SHA/test/runtests.jl index 2430f8d0b1089..49ab05e47b739 100644 --- a/stdlib/SHA/test/runtests.jl +++ b/stdlib/SHA/test/runtests.jl @@ -230,15 +230,17 @@ for (key, msg, fun, hash) in ( (b"key", b"The quick brown fox jumps over the lazy dog", hmac_sha256, "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"), ) global nerrors - digest = bytes2hex(fun(Vector(key), Vector(msg))) - if digest != hash + digest1 = bytes2hex(fun(Vector(key), Vector(msg))) + digest2 = bytes2hex(fun(Vector(key), IOBuffer(Vector(msg)))) + if digest1 != hash || digest2 != hash print("\n") @warn( """ For $fun($(String(key)), $(String(msg))) expected: $hash Calculated: - $digest + $digest1 + $digest2 """) nerrors += 1 else