|
@@ -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);
|