diff options
author | Herbert Xu | 2005-12-21 12:01:58 +0100 |
---|---|---|
committer | David S. Miller | 2006-01-09 23:15:56 +0100 |
commit | bcb0ad2b34daade529ce1f38eede0ea8b7309535 (patch) | |
tree | 5f09892e3031dc3c94304f563e91baa1b3438d6a /crypto/sha1.c | |
parent | [CRYPTO] aes-i586: Remove unused variable ls_tab (diff) | |
download | kernel-qcow2-linux-bcb0ad2b34daade529ce1f38eede0ea8b7309535.tar.gz kernel-qcow2-linux-bcb0ad2b34daade529ce1f38eede0ea8b7309535.tar.xz kernel-qcow2-linux-bcb0ad2b34daade529ce1f38eede0ea8b7309535.zip |
[CRYPTO] sha1: Fixed off-by-64 bug in sha1_update
After a partial update, the done pointer is off to the right by 64 bytes.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/sha1.c')
-rw-r--r-- | crypto/sha1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/sha1.c b/crypto/sha1.c index 8048e2dd3c14..21571ed35b7e 100644 --- a/crypto/sha1.c +++ b/crypto/sha1.c @@ -61,8 +61,8 @@ static void sha1_update(void *ctx, const u8 *data, unsigned int len) u32 temp[SHA_WORKSPACE_WORDS]; if (partial) { - done = 64 - partial; - memcpy(sctx->buffer + partial, data, done); + done = -partial; + memcpy(sctx->buffer + partial, data, done + 64); src = sctx->buffer; } |