|
@@ -351,6 +351,9 @@ int func_name (hash_state * md, const unsigned char *in, unsigned long inlen)
|
|
if (md-> state_var .curlen > sizeof(md-> state_var .buf)) { \
|
|
if (md-> state_var .curlen > sizeof(md-> state_var .buf)) { \
|
|
return CRYPT_INVALID_ARG; \
|
|
return CRYPT_INVALID_ARG; \
|
|
} \
|
|
} \
|
|
|
|
+ if ((md-> state_var .length + inlen) < md-> state_var .length) { \
|
|
|
|
+ return CRYPT_HASH_OVERFLOW; \
|
|
|
|
+ } \
|
|
while (inlen > 0) { \
|
|
while (inlen > 0) { \
|
|
if (md-> state_var .curlen == 0 && inlen >= block_size) { \
|
|
if (md-> state_var .curlen == 0 && inlen >= block_size) { \
|
|
if ((err = compress_name (md, (unsigned char *)in)) != CRYPT_OK) { \
|
|
if ((err = compress_name (md, (unsigned char *)in)) != CRYPT_OK) { \
|