mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-11-03 22:13:11 +03:00 
			
		
		
		
	openssl.c: fix possible segfault in case EVP_DigestInit fails
This commit is contained in:
		@@ -577,9 +577,10 @@ libssh2_sha1(const unsigned char *message, unsigned long len,
 | 
				
			|||||||
    EVP_MD_CTX ctx;
 | 
					    EVP_MD_CTX ctx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    EVP_MD_CTX_init(&ctx);
 | 
					    EVP_MD_CTX_init(&ctx);
 | 
				
			||||||
    EVP_DigestInit(&ctx, EVP_get_digestbyname("sha1"));
 | 
					    if (EVP_DigestInit(&ctx, EVP_get_digestbyname("sha1"))) {
 | 
				
			||||||
        EVP_DigestUpdate(&ctx, message, len);
 | 
					        EVP_DigestUpdate(&ctx, message, len);
 | 
				
			||||||
        EVP_DigestFinal(&ctx, out, NULL);
 | 
					        EVP_DigestFinal(&ctx, out, NULL);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int
 | 
					int
 | 
				
			||||||
@@ -596,9 +597,10 @@ libssh2_md5(const unsigned char *message, unsigned long len,
 | 
				
			|||||||
    EVP_MD_CTX ctx;
 | 
					    EVP_MD_CTX ctx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    EVP_MD_CTX_init(&ctx);
 | 
					    EVP_MD_CTX_init(&ctx);
 | 
				
			||||||
    EVP_DigestInit(&ctx, EVP_get_digestbyname("md5"));
 | 
					    if (EVP_DigestInit(&ctx, EVP_get_digestbyname("md5"))) {
 | 
				
			||||||
        EVP_DigestUpdate(&ctx, message, len);
 | 
					        EVP_DigestUpdate(&ctx, message, len);
 | 
				
			||||||
        EVP_DigestFinal(&ctx, out, NULL);
 | 
					        EVP_DigestFinal(&ctx, out, NULL);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static unsigned char *
 | 
					static unsigned char *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user