X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fsha%2Fsha_one.c;h=3bae623ce882ce46360b0041ac4ef2db3d4b2728;hb=32cf5baeae21774db04af2ad2d74567a617c6fec;hp=80b06973800e96757db5141abccc73de48dd6afe;hpb=ec577822f95a8bca0023c5c77cef1a4916822d4a;p=oweals%2Fopenssl.git diff --git a/crypto/sha/sha_one.c b/crypto/sha/sha_one.c index 80b0697380..3bae623ce8 100644 --- a/crypto/sha/sha_one.c +++ b/crypto/sha/sha_one.c @@ -59,16 +59,20 @@ #include #include #include +#include -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