Skip to content

Commit b9834f6

Browse files
authored
Merge pull request #957 from stanhu/sh-check-null-evp-pkey-get
Check NULL values for deprecated EVP_PKEY_get0() functions
2 parents 2687f96 + dc90b9c commit b9834f6

File tree

4 files changed

+8
-0
lines changed

4 files changed

+8
-0
lines changed

ext/openssl/ossl_pkey_dh.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
EVP_PKEY *_pkey; \
2222
GetPKeyDH((obj), _pkey); \
2323
(dh) = EVP_PKEY_get0_DH(_pkey); \
24+
if ((dh) == NULL) \
25+
ossl_raise(eDHError, "failed to get DH from EVP_PKEY"); \
2426
} while (0)
2527

2628
/*

ext/openssl/ossl_pkey_dsa.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
EVP_PKEY *_pkey; \
2222
GetPKeyDSA((obj), _pkey); \
2323
(dsa) = EVP_PKEY_get0_DSA(_pkey); \
24+
if ((dsa) == NULL) \
25+
ossl_raise(eDSAError, "failed to get DSA from EVP_PKEY"); \
2426
} while (0)
2527

2628
static inline int

ext/openssl/ossl_pkey_ec.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ static const rb_data_type_t ossl_ec_point_type;
2222
EVP_PKEY *_pkey; \
2323
GetPKeyEC(obj, _pkey); \
2424
(key) = EVP_PKEY_get0_EC_KEY(_pkey); \
25+
if ((key) == NULL) \
26+
ossl_raise(eECError, "failed to get EC_KEY from EVP_PKEY"); \
2527
} while (0)
2628

2729
#define GetECGroup(obj, group) do { \

ext/openssl/ossl_pkey_rsa.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
EVP_PKEY *_pkey; \
2222
GetPKeyRSA((obj), _pkey); \
2323
(rsa) = EVP_PKEY_get0_RSA(_pkey); \
24+
if ((rsa) == NULL) \
25+
ossl_raise(eRSAError, "failed to get RSA from EVP_PKEY"); \
2426
} while (0)
2527

2628
static inline int

0 commit comments

Comments
 (0)