X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fripemd%2Frmd_one.c;h=3efb13758f664707207bb8a43535a2e8450c0420;hp=3d0849935211551b4e5d6c060c8239b76e6f2c8e;hb=df77428443a63028af57cab3b67fdbf8a5921eef;hpb=9a1e34e5deab94717758384d76a20b39ec9ed030 diff --git a/crypto/ripemd/rmd_one.c b/crypto/ripemd/rmd_one.c index 3d08499352..3efb13758f 100644 --- a/crypto/ripemd/rmd_one.c +++ b/crypto/ripemd/rmd_one.c @@ -59,18 +59,20 @@ #include #include #include +#include -unsigned char *RIPEMD160(unsigned char *d, unsigned long n, +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md) { RIPEMD160_CTX c; static unsigned char m[RIPEMD160_DIGEST_LENGTH]; if (md == NULL) md=m; - RIPEMD160_Init(&c); + if (!RIPEMD160_Init(&c)) + return NULL; RIPEMD160_Update(&c,d,n); RIPEMD160_Final(md,&c); - memset(&c,0,sizeof(c)); /* security consideration */ + OPENSSL_cleanse(&c,sizeof(c)); /* security consideration */ return(md); }