From dc20ebf2d6f744b839a34d220edbad2acf3cf182 Mon Sep 17 00:00:00 2001 From: pooler Date: Mon, 24 Jun 2013 23:07:07 +0200 Subject: [PATCH] Fix array index out of bounds in sha256d() --- sha2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sha2.c b/sha2.c index 5e7f6cc..76b6ef3 100644 --- a/sha2.c +++ b/sha2.c @@ -206,7 +206,7 @@ void sha256d(unsigned char *hash, const unsigned char *data, int len) if (r < 64) memset(T, 0, 64); memcpy(T, data + len - r, r > 64 ? 64 : (r < 0 ? 0 : r)); - if (r < 64) + if (r >= 0 && r < 64) ((unsigned char *)T)[r] = 0x80; for (i = 0; i < 16; i++) T[i] = be32dec(T + i);