@@ -53,10 +53,15 @@ int SSL_use_certificate(SSL *ssl, X509 *x)
53
53
int SSL_use_certificate_file (SSL * ssl , const char * file , int type )
54
54
{
55
55
int j ;
56
- BIO * in ;
56
+ BIO * in = NULL ;
57
57
int ret = 0 ;
58
58
X509 * cert = NULL , * x = NULL ;
59
59
60
+ if (file == NULL ) {
61
+ ERR_raise (ERR_LIB_SSL , ERR_R_PASSED_NULL_PARAMETER );
62
+ goto end ;
63
+ }
64
+
60
65
in = BIO_new (BIO_s_file ());
61
66
if (in == NULL ) {
62
67
ERR_raise (ERR_LIB_SSL , ERR_R_BUF_LIB );
@@ -163,9 +168,14 @@ int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey)
163
168
int SSL_use_PrivateKey_file (SSL * ssl , const char * file , int type )
164
169
{
165
170
int j , ret = 0 ;
166
- BIO * in ;
171
+ BIO * in = NULL ;
167
172
EVP_PKEY * pkey = NULL ;
168
173
174
+ if (file == NULL ) {
175
+ ERR_raise (ERR_LIB_SSL , ERR_R_PASSED_NULL_PARAMETER );
176
+ goto end ;
177
+ }
178
+
169
179
in = BIO_new (BIO_s_file ());
170
180
if (in == NULL ) {
171
181
ERR_raise (ERR_LIB_SSL , ERR_R_BUF_LIB );
@@ -296,10 +306,15 @@ static int ssl_set_cert(CERT *c, X509 *x, SSL_CTX *ctx)
296
306
int SSL_CTX_use_certificate_file (SSL_CTX * ctx , const char * file , int type )
297
307
{
298
308
int j = SSL_R_BAD_VALUE ;
299
- BIO * in ;
309
+ BIO * in = NULL ;
300
310
int ret = 0 ;
301
311
X509 * x = NULL , * cert = NULL ;
302
312
313
+ if (file == NULL ) {
314
+ ERR_raise (ERR_LIB_SSL , ERR_R_PASSED_NULL_PARAMETER );
315
+ goto end ;
316
+ }
317
+
303
318
in = BIO_new (BIO_s_file ());
304
319
if (in == NULL ) {
305
320
ERR_raise (ERR_LIB_SSL , ERR_R_BUF_LIB );
@@ -373,9 +388,14 @@ int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey)
373
388
int SSL_CTX_use_PrivateKey_file (SSL_CTX * ctx , const char * file , int type )
374
389
{
375
390
int j , ret = 0 ;
376
- BIO * in ;
391
+ BIO * in = NULL ;
377
392
EVP_PKEY * pkey = NULL ;
378
393
394
+ if (file == NULL ) {
395
+ ERR_raise (ERR_LIB_SSL , ERR_R_PASSED_NULL_PARAMETER );
396
+ goto end ;
397
+ }
398
+
379
399
in = BIO_new (BIO_s_file ());
380
400
if (in == NULL ) {
381
401
ERR_raise (ERR_LIB_SSL , ERR_R_BUF_LIB );
@@ -436,7 +456,7 @@ int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx,
436
456
*/
437
457
static int use_certificate_chain_file (SSL_CTX * ctx , SSL * ssl , const char * file )
438
458
{
439
- BIO * in ;
459
+ BIO * in = NULL ;
440
460
int ret = 0 ;
441
461
X509 * x = NULL ;
442
462
pem_password_cb * passwd_callback ;
@@ -462,6 +482,11 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
462
482
passwd_callback_userdata = sc -> default_passwd_callback_userdata ;
463
483
}
464
484
485
+ if (file == NULL ) {
486
+ ERR_raise (ERR_LIB_SSL , ERR_R_PASSED_NULL_PARAMETER );
487
+ goto end ;
488
+ }
489
+
465
490
in = BIO_new (BIO_s_file ());
466
491
if (in == NULL ) {
467
492
ERR_raise (ERR_LIB_SSL , ERR_R_BUF_LIB );
0 commit comments