Check return values of <Digest>_Init functions in low level digest calls.
authorDr. Stephen Henson <steve@openssl.org>
Thu, 14 Apr 2005 22:58:44 +0000 (22:58 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 14 Apr 2005 22:58:44 +0000 (22:58 +0000)
crypto/md2/md2_one.c
crypto/md4/md4_one.c
crypto/md5/md5_one.c
crypto/mdc2/mdc2_one.c
crypto/ripemd/rmd_one.c
crypto/sha/sha1_one.c
crypto/sha/sha_one.c

index dab35071acd2dec09d66e9be2c663810cacb6a18..f7fef5cc0a739fc57a899a3e464edcce2f46ccc3 100644 (file)
@@ -69,7 +69,8 @@ unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md)
        static unsigned char m[MD2_DIGEST_LENGTH];
 
        if (md == NULL) md=m;
-       MD2_Init(&c);
+       if (!MD2_Init(&c))
+               return NULL;
 #ifndef CHARSET_EBCDIC
        MD2_Update(&c,d,n);
 #else
index 64601b62dfa9fda1d177c7103134d1a717c9ecd9..bb6436263818aa49e08dfb8f02a2cd206654c8e0 100644 (file)
@@ -71,7 +71,8 @@ unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md)
        static unsigned char m[MD4_DIGEST_LENGTH];
 
        if (md == NULL) md=m;
-       MD4_Init(&c);
+       if (!MD4_Init(&c))
+               return NULL;
 #ifndef CHARSET_EBCDIC
        MD4_Update(&c,d,n);
 #else
index 9918243ea2f68e1e229f4e9d186d8a3fddb803bc..43fee89379634a4658887f2cc4e4abecebd22ac9 100644 (file)
@@ -71,7 +71,8 @@ unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md)
        static unsigned char m[MD5_DIGEST_LENGTH];
 
        if (md == NULL) md=m;
-       MD5_Init(&c);
+       if (!MD5_Init(&c))
+               return NULL;
 #ifndef CHARSET_EBCDIC
        MD5_Update(&c,d,n);
 #else
index cd569aa865a6c3c7260b30c4437dcb3506410704..72647f67ede4ee05b5b11d261b22587f7ad296e7 100644 (file)
@@ -66,7 +66,8 @@ unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md)
        static unsigned char m[MDC2_DIGEST_LENGTH];
 
        if (md == NULL) md=m;
-       MDC2_Init(&c);
+       if (!MDC2_Init(&c))
+               return NULL;
        MDC2_Update(&c,d,n);
         MDC2_Final(md,&c);
        OPENSSL_cleanse(&c,sizeof(c)); /* security consideration */
index bfc4d83fe0a8dd82e90bf1b75ac30a0eabf4fec0..3efb13758f664707207bb8a43535a2e8450c0420 100644 (file)
@@ -68,7 +68,8 @@ unsigned char *RIPEMD160(const unsigned char *d, size_t n,
        static unsigned char m[RIPEMD160_DIGEST_LENGTH];
 
        if (md == NULL) md=m;
-       RIPEMD160_Init(&c);
+       if (!RIPEMD160_Init(&c))
+               return NULL;
        RIPEMD160_Update(&c,d,n);
        RIPEMD160_Final(md,&c);
        OPENSSL_cleanse(&c,sizeof(c)); /* security consideration */
index 582b25394cdea9b447a9cf8edda66808c0dd9194..7c65b60276cdb85115fa7447dbb00ce28cda90cf 100644 (file)
@@ -68,7 +68,8 @@ unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md)
        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);
        OPENSSL_cleanse(&c,sizeof(c));
index 371ffddac6c88d6a1033e4a3a889380f887c69bb..3bae623ce882ce46360b0041ac4ef2db3d4b2728 100644 (file)
@@ -68,7 +68,8 @@ unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md)
        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);
        OPENSSL_cleanse(&c,sizeof(c));