X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fsha%2Fsha1_one.c;h=c56ec94020e180600f534e68c3402839ca330a79;hb=619b94667cc7a097f6d1e2123c4f4c2c85afb8f7;hp=cf381fa39386a5db80691a8c3b297cc0635206e9;hpb=b7896b3cb86d80206af14a14d69b0717786f2729;p=openssl.git diff --git a/crypto/sha/sha1_one.c b/crypto/sha/sha1_one.c index cf381fa393..c56ec94020 100644 --- a/crypto/sha/sha1_one.c +++ b/crypto/sha/sha1_one.c @@ -1,5 +1,5 @@ /* crypto/sha/sha1_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 *SHA1(d, n, md) -unsigned char *d; -unsigned long n; -unsigned char *md; +#ifndef OPENSSL_NO_SHA1 +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