X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fsha%2Fsha_one.c;h=3bae623ce882ce46360b0041ac4ef2db3d4b2728;hb=3a5485a9f88a674f5966a430db4fbd6d0b531bb7;hp=6ef3f06a37948d8d4bbb0864150adc9b004d218f;hpb=f5d7a031a3c3e7b1700a67d6dc19daf3718ce6ee;p=openssl.git diff --git a/crypto/sha/sha_one.c b/crypto/sha/sha_one.c index 6ef3f06a37..3bae623ce8 100644 --- a/crypto/sha/sha_one.c +++ b/crypto/sha/sha_one.c @@ -59,18 +59,20 @@ #include #include #include +#include -#ifndef NO_SHA0 -unsigned char *SHA(unsigned char *d, unsigned long n, unsigned char *md) +#ifndef OPENSSL_NO_SHA0 +unsigned char *SHA(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; - SHA_Init(&c); + if (!SHA_Init(&c)) + return NULL; SHA_Update(&c,d,n); SHA_Final(md,&c); - memset(&c,0,sizeof(c)); + OPENSSL_cleanse(&c,sizeof(c)); return(md); } #endif