diff options
| -rw-r--r-- | common/userpref.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/common/userpref.c b/common/userpref.c index cb74945..04341a4 100644 --- a/common/userpref.c +++ b/common/userpref.c | |||
| @@ -609,7 +609,6 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da | |||
| 609 | gnutls_x509_privkey_t host_privkey; | 609 | gnutls_x509_privkey_t host_privkey; |
| 610 | gnutls_x509_crt_t host_cert; | 610 | gnutls_x509_crt_t host_cert; |
| 611 | 611 | ||
| 612 | gnutls_global_deinit(); | ||
| 613 | gnutls_global_init(); | 612 | gnutls_global_init(); |
| 614 | 613 | ||
| 615 | /* use less secure random to speed up key generation */ | 614 | /* use less secure random to speed up key generation */ |
| @@ -744,11 +743,10 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da | |||
| 744 | if (USERPREF_E_SUCCESS == ret) { | 743 | if (USERPREF_E_SUCCESS == ret) { |
| 745 | /* if everything went well, export in PEM format */ | 744 | /* if everything went well, export in PEM format */ |
| 746 | size_t export_size = 0; | 745 | size_t export_size = 0; |
| 747 | gnutls_datum_t dev_pem = { NULL, 0 }; | ||
| 748 | gnutls_x509_crt_export(dev_cert, GNUTLS_X509_FMT_PEM, NULL, &export_size); | 746 | gnutls_x509_crt_export(dev_cert, GNUTLS_X509_FMT_PEM, NULL, &export_size); |
| 749 | dev_pem.data = gnutls_malloc(export_size); | 747 | dev_cert_pem.data = gnutls_malloc(export_size); |
| 750 | gnutls_x509_crt_export(dev_cert, GNUTLS_X509_FMT_PEM, dev_pem.data, &export_size); | 748 | gnutls_x509_crt_export(dev_cert, GNUTLS_X509_FMT_PEM, dev_cert_pem.data, &export_size); |
| 751 | dev_pem.size = export_size; | 749 | dev_cert_pem.size = export_size; |
| 752 | } | 750 | } |
| 753 | } | 751 | } |
| 754 | 752 | ||
| @@ -769,9 +767,7 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da | |||
| 769 | 767 | ||
| 770 | gnutls_free(der_pub_key.data); | 768 | gnutls_free(der_pub_key.data); |
| 771 | 769 | ||
| 772 | /* restore gnutls env */ | ||
| 773 | gnutls_global_deinit(); | 770 | gnutls_global_deinit(); |
| 774 | gnutls_global_init(); | ||
| 775 | #endif | 771 | #endif |
| 776 | if (NULL != root_cert_pem.data && 0 != root_cert_pem.size && | 772 | if (NULL != root_cert_pem.data && 0 != root_cert_pem.size && |
| 777 | NULL != host_cert_pem.data && 0 != host_cert_pem.size) | 773 | NULL != host_cert_pem.data && 0 != host_cert_pem.size) |
