@@ -165,9 +165,9 @@ namespace libp2p::security::tls_details {
165165 constexpr size_t prefix_size = sign_prefix.size ();
166166 size_t msg_len = prefix_size + cert_pub_key.size ();
167167
168- uint8_t buf[ msg_len]; // NOLINT
169- memcpy (buf, sign_prefix.data (), sign_prefix.size ());
170- memcpy (buf + sign_prefix.size (), // NOLINT
168+ std::vector< uint8_t > buf ( msg_len);
169+ memcpy (buf. data () , sign_prefix.data (), sign_prefix.size ());
170+ memcpy (buf. data () + sign_prefix.size (),
171171 cert_pub_key.data (),
172172 cert_pub_key.size ());
173173
@@ -203,8 +203,8 @@ namespace libp2p::security::tls_details {
203203 void assignSerial (X509 *cert) {
204204 BIGNUM *bn = BN_new ();
205205 CLEANUP_PTR (bn, BN_free);
206- if (BN_pseudo_rand (bn, 64 , 0 , 0 ) == 0 ) {
207- throw std::runtime_error (" BN_pseudo_rand failed" );
206+ if (BN_rand (bn, 64 , 0 , 0 ) == 0 ) {
207+ throw std::runtime_error (" BN_rand failed" );
208208 }
209209
210210 ASN1_INTEGER *rand_int = ASN1_INTEGER_new ();
@@ -402,13 +402,13 @@ namespace libp2p::security::tls_details {
402402 constexpr size_t prefix_size = sign_prefix.size ();
403403
404404 size_t msg_len = prefix_size + len;
405- uint8_t buf[ msg_len]; // NOLINT
406- memcpy (buf, sign_prefix.data (), prefix_size);
407- uint8_t *b = buf + prefix_size; // NOLINT
405+ std::vector< uint8_t > buf ( msg_len);
406+ memcpy (buf. data () , sign_prefix.data (), prefix_size);
407+ uint8_t *b = buf. data () + prefix_size;
408408 i2d_PUBKEY (cert_pubkey, &b);
409409
410410 auto verify_res = crypto::ed25519::Ed25519ProviderImpl{}.verify (
411- BytesIn (buf, buf + msg_len), // NOLINT
411+ BytesIn (buf. data () , buf. data () + msg_len),
412412 signature,
413413 ed25519pkey);
414414
0 commit comments