From af38b1830eef6f56586c22e15800a2a3f1d37d47 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Mon, 26 Jun 2017 14:02:52 +0200 Subject: [PATCH] re-factor size checks in blake2 implementations --- src/hashes/blake2b.c | 4 ++-- src/hashes/blake2s.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hashes/blake2b.c b/src/hashes/blake2b.c index 9138d39..6c34319 100644 --- a/src/hashes/blake2b.c +++ b/src/hashes/blake2b.c @@ -333,14 +333,14 @@ int blake2b_process(hash_state *md, const unsigned char *in, unsigned long inlen LTC_ARGCHK(md != NULL); LTC_ARGCHK(in != NULL); - if (md->blake2b.curlen > sizeof(md->blake2b.buf)) { + if (md->blake2b.curlen >= sizeof(md->blake2b.buf)) { return CRYPT_INVALID_ARG; } if (inlen > 0) { unsigned long left = md->blake2b.curlen; unsigned long fill = BLAKE2B_BLOCKBYTES - left; - if (inlen > fill) { + if (inlen >= fill) { md->blake2b.curlen = 0; XMEMCPY(md->blake2b.buf + left, in, fill); /* Fill buffer */ blake2b_increment_counter(md, BLAKE2B_BLOCKBYTES); diff --git a/src/hashes/blake2s.c b/src/hashes/blake2s.c index 9e26324..a3fdc56 100644 --- a/src/hashes/blake2s.c +++ b/src/hashes/blake2s.c @@ -321,14 +321,14 @@ int blake2s_process(hash_state *md, const unsigned char *in, unsigned long inlen LTC_ARGCHK(md != NULL); LTC_ARGCHK(in != NULL); - if (md->blake2s.curlen > sizeof(md->blake2s.buf)) { + if (md->blake2s.curlen >= sizeof(md->blake2s.buf)) { return CRYPT_INVALID_ARG; } if (inlen > 0) { unsigned long left = md->blake2s.curlen; unsigned long fill = BLAKE2S_BLOCKBYTES - left; - if (inlen > fill) { + if (inlen >= fill) { md->blake2s.curlen = 0; XMEMCPY(md->blake2s.buf + left, in, fill); /* Fill buffer */ blake2s_increment_counter(md, BLAKE2S_BLOCKBYTES);