ngx_quic_crypto_hp_cleanup(client);
ngx_quic_crypto_hp_cleanup(server);
- ngx_explicit_memzero(client->secret.data, client->secret.len);
- ngx_explicit_memzero(server->secret.data, server->secret.len);
+ if (client->secret.len) {
+ ngx_explicit_memzero(client->secret.data, client->secret.len);
+ client->secret.len = 0;
+ }
+
+ if (server->secret.len) {
+ ngx_explicit_memzero(server->secret.data, server->secret.len);
+ server->secret.len = 0;
+ }
}
ngx_explicit_memzero(current->server.secret.data,
current->server.secret.len);
+ current->client.secret.len = 0;
+ current->server.secret.len = 0;
+
ngx_explicit_memzero(client_key.data, client_key.len);
ngx_explicit_memzero(server_key.data, server_key.len);
ngx_quic_crypto_cleanup(&next->client);
ngx_quic_crypto_cleanup(&next->server);
- ngx_explicit_memzero(next->client.secret.data,
- next->client.secret.len);
- ngx_explicit_memzero(next->server.secret.data,
- next->server.secret.len);
+ if (next->client.secret.len) {
+ ngx_explicit_memzero(next->client.secret.data,
+ next->client.secret.len);
+ next->client.secret.len = 0;
+ }
+
+ if (next->server.secret.len) {
+ ngx_explicit_memzero(next->server.secret.data,
+ next->server.secret.len);
+ next->server.secret.len = 0;
+ }
}