History

avformat/tls_openssl: don't expose deprecated EC_KEY outside of its function

Timo Rothenpieler committed 1 year ago

Commit 40ce64e1 parent 5339db21 file · +9 −11Browse files

Unified · Split

libavformat/tls_openssl.c+9−11
@@ -235,7 +235,7 @@ end: · 234 unmodified lines
235235 return ret;
236236 }
237237
238−static int openssl_gen_private_key(EVP_PKEY **pkey, EC_KEY **eckey)
238+static int openssl_gen_private_key(EVP_PKEY **pkey)
239239 {
240240 int ret = 0;
241241
@@ -250,6 +250,7 @@ static int openssl_gen_private_key(EVP_PKEY **pkey, EC_KEY **eckey) · 8 unmodified lines
250250 */
251251 #if OPENSSL_VERSION_NUMBER < 0x30000000L /* OpenSSL 3.0 */
252252 EC_GROUP *ecgroup = NULL;
253+ EC_KEY *eckey = NULL;
253254 int curve = NID_X9_62_prime256v1;
254255 #else
255256 const char *curve = SN_X9_62_prime256v1;
@@ -260,8 +261,8 @@ static int openssl_gen_private_key(EVP_PKEY **pkey, EC_KEY **eckey) · 4 unmodified lines
260261 if (!*pkey)
261262 return AVERROR(ENOMEM);
262263
263− *eckey = EC_KEY_new();
264− if (!*eckey) {
264+ eckey = EC_KEY_new();
265+ if (!eckey) {
265266 EVP_PKEY_free(*pkey);
266267 *pkey = NULL;
267268 return AVERROR(ENOMEM);
@@ -273,17 +274,17 @@ static int openssl_gen_private_key(EVP_PKEY **pkey, EC_KEY **eckey) · 5 unmodified lines
273274 goto einval_end;
274275 }
275276
276− if (EC_KEY_set_group(*eckey, ecgroup) != 1) {
277+ if (EC_KEY_set_group(eckey, ecgroup) != 1) {
277278 av_log(NULL, AV_LOG_ERROR, "TLS: Generate private key, EC_KEY_set_group failed, %s\n", ERR_error_string(ERR_get_error(), NULL));
278279 goto einval_end;
279280 }
280281
281− if (EC_KEY_generate_key(*eckey) != 1) {
282+ if (EC_KEY_generate_key(eckey) != 1) {
282283 av_log(NULL, AV_LOG_ERROR, "TLS: Generate private key, EC_KEY_generate_key failed, %s\n", ERR_error_string(ERR_get_error(), NULL));
283284 goto einval_end;
284285 }
285286
286− if (EVP_PKEY_set1_EC_KEY(*pkey, *eckey) != 1) {
287+ if (EVP_PKEY_set1_EC_KEY(*pkey, eckey) != 1) {
287288 av_log(NULL, AV_LOG_ERROR, "TLS: Generate private key, EVP_PKEY_set1_EC_KEY failed, %s\n", ERR_error_string(ERR_get_error(), NULL));
288289 goto einval_end;
289290 }
@@ -298,13 +299,12 @@ static int openssl_gen_private_key(EVP_PKEY **pkey, EC_KEY **eckey) · 8 unmodified lines
298299
299300 einval_end:
300301 ret = AVERROR(EINVAL);
301− EC_KEY_free(*eckey);
302302 EVP_PKEY_free(*pkey);
303− *eckey = NULL;
304303 *pkey = NULL;
305304 end:
306305 #if OPENSSL_VERSION_NUMBER < 0x30000000L /* OpenSSL 3.0 */
307306 EC_GROUP_free(ecgroup);
307+ EC_KEY_free(eckey);
308308 #endif
309309 return ret;
310310 }
@@ -395,11 +395,10 @@ int ff_ssl_gen_key_cert(char *key_buf, size_t key_sz, char *cert_buf, size_t cer · 84 unmodified lines
395395 {
396396 int ret = 0;
397397 EVP_PKEY *pkey = NULL;
398− EC_KEY *ec_key = NULL;
399398 X509 *cert = NULL;
400399 char *key_tem = NULL, *cert_tem = NULL;
401400
402− ret = openssl_gen_private_key(&pkey, &ec_key);
401+ ret = openssl_gen_private_key(&pkey);
403402 if (ret < 0) goto error;
404403
405404 ret = openssl_gen_certificate(pkey, &cert, fingerprint);
@@ -415,7 +414,6 @@ int ff_ssl_gen_key_cert(char *key_buf, size_t key_sz, char *cert_buf, size_t cer · 9 unmodified lines
415414 av_free(cert_tem);
416415 error:
417416 X509_free(cert);
418− EC_KEY_free(ec_key);
419417 EVP_PKEY_free(pkey);
420418 return ret;
421419 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t