Skip to content

Commit dd883bc

Browse files
committed
Merge branch 'maint-3.2' into maint-3.3
* maint-3.2: Ruby/OpenSSL 3.2.3 Ruby/OpenSSL 3.1.3 Check NULL values for deprecated EVP_PKEY_get0() functions
2 parents 2b88a6d + 9345383 commit dd883bc

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

History.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ And various non-user-visible changes and bug fixes. Please see the commit
8080
history for more details.
8181

8282

83+
Version 3.2.3
84+
=============
85+
86+
Merged changes in 3.1.3.
87+
88+
8389
Version 3.2.2
8490
=============
8591

@@ -132,6 +138,16 @@ Notable changes
132138
[[GitHub #141]](https://github.com/ruby/openssl/pull/141)
133139

134140

141+
Version 3.1.3
142+
=============
143+
144+
Bug fixes
145+
---------
146+
147+
* Fix missing NULL check for `EVP_PKEY_get0()` functions with OpenSSL 3.x.
148+
[[GitHub #957]](https://github.com/ruby/openssl/pull/957)
149+
150+
135151
Version 3.1.2
136152
=============
137153

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)