X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fsha%2Fsha1_one.c;h=c56ec94020e180600f534e68c3402839ca330a79;hp=e6a24888ed5949675cf49da35ae0b7309281042a;hb=da3bd2779dffae5980ebfb291c82ad8aba0b8e74;hpb=cf1b7d96647d55e533f779e476e3d4371f40445a diff --git a/crypto/sha/sha1_one.c b/crypto/sha/sha1_one.c index e6a24888ed..c56ec94020 100644 --- a/crypto/sha/sha1_one.c +++ b/crypto/sha/sha1_one.c @@ -58,19 +58,21 @@ #include #include +#include #include #ifndef OPENSSL_NO_SHA1 -unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md) +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md) { SHA_CTX c; static unsigned char m[SHA_DIGEST_LENGTH]; if (md == NULL) md=m; - SHA1_Init(&c); + if (!SHA1_Init(&c)) + return NULL; SHA1_Update(&c,d,n); SHA1_Final(md,&c); - memset(&c,0,sizeof(c)); + OPENSSL_cleanse(&c,sizeof(c)); return(md); } #endif