X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fsha%2Fsha_one.c;h=3bae623ce882ce46360b0041ac4ef2db3d4b2728;hb=32cf5baeae21774db04af2ad2d74567a617c6fec;hp=87da617bec0d0ad8756be71ffbd43cebe871e870;hpb=eda1f21f1af8b6f77327e7b37573af9c1ba73726;p=oweals%2Fopenssl.git diff --git a/crypto/sha/sha_one.c b/crypto/sha/sha_one.c index 87da617bec..3bae623ce8 100644 --- a/crypto/sha/sha_one.c +++ b/crypto/sha/sha_one.c @@ -1,5 +1,5 @@ /* crypto/sha/sha_one.c */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written @@ -57,21 +57,22 @@ */ #include -#include "cryptlib.h" -#include "sha.h" +#include +#include +#include -unsigned char *SHA(d, n, md) -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