diff --git a/crypto/md32_common.h b/crypto/md32_common.h index 8fda6ffded85dbb002424011eb5ca875cd784fc3..089c4502905c68d78a5b267bc93a2e124b5a2b73 100644 --- a/crypto/md32_common.h +++ b/crypto/md32_common.h @@ -1,6 +1,6 @@ /* crypto/md32_common.h */ /* ==================================================================== - * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -354,9 +354,11 @@ int HASH_FINAL (unsigned char *md, HASH_CTX *c) if (n > (HASH_CBLOCK-8)) { + memset (p+n,0,HASH_CBLOCK-n); + n=0; HASH_BLOCK_DATA_ORDER (c,p,1); - memset (p,0,HASH_CBLOCK); } + memset (p+n,0,HASH_CBLOCK-8-n); p += HASH_CBLOCK-8; #if defined(DATA_ORDER_IS_BIG_ENDIAN)