mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
Make sure a bad parameter to RSA_verify_PKCS1_PSS() doesn't lead to a crash.
(Coverity ID 135).
This commit is contained in:
parent
a68c7b9171
commit
8aa02e97a7
@ -448,6 +448,7 @@ void ERR_load_RSA_strings(void);
|
||||
|
||||
/* Reason codes. */
|
||||
#define RSA_R_ALGORITHM_MISMATCH 100
|
||||
#define RSA_R_BAD_ARGUMENT 149
|
||||
#define RSA_R_BAD_E_VALUE 101
|
||||
#define RSA_R_BAD_FIXED_HEADER_DECRYPT 102
|
||||
#define RSA_R_BAD_PAD_BYTE_COUNT 103
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* crypto/rsa/rsa_err.c */
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved.
|
||||
* Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -124,6 +124,7 @@ static ERR_STRING_DATA RSA_str_functs[]=
|
||||
static ERR_STRING_DATA RSA_str_reasons[]=
|
||||
{
|
||||
{ERR_REASON(RSA_R_ALGORITHM_MISMATCH) ,"algorithm mismatch"},
|
||||
{ERR_REASON(RSA_R_BAD_ARGUMENT) ,"bad argument"},
|
||||
{ERR_REASON(RSA_R_BAD_E_VALUE) ,"bad e value"},
|
||||
{ERR_REASON(RSA_R_BAD_FIXED_HEADER_DECRYPT),"bad fixed header decrypt"},
|
||||
{ERR_REASON(RSA_R_BAD_PAD_BYTE_COUNT) ,"bad pad byte count"},
|
||||
|
@ -81,6 +81,12 @@ int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
|
||||
EVP_MD_CTX ctx;
|
||||
unsigned char H_[EVP_MAX_MD_SIZE];
|
||||
|
||||
if (Hash == NULL)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_BAD_ARGUMENT);
|
||||
goto err;
|
||||
}
|
||||
|
||||
hLen = EVP_MD_size(Hash);
|
||||
/*
|
||||
* Negative sLen has special meanings:
|
||||
|
@ -412,6 +412,7 @@ printf("\n");
|
||||
|
||||
if (!clear)
|
||||
{
|
||||
/* !clear => s->read_hash != NULL => mac_size != -1 */
|
||||
mac_size=EVP_MD_CTX_size(s->read_hash);
|
||||
|
||||
if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH+extra+mac_size)
|
||||
|
Loading…
Reference in New Issue
Block a user