فهرست منبع

[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>
Herbert Xu 19 سال پیش
والد
کامیت
bcb0ad2b34
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      crypto/sha1.c

+ 2 - 2
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;
 		}