diff --git a/c/opendht.cpp b/c/opendht.cpp index 282bc5d97c52454d6514d01b497c5ddf354ac75a..ad885153298f64b998d527d309d827594a2126da 100644 --- a/c/opendht.cpp +++ b/c/opendht.cpp @@ -173,7 +173,7 @@ int dht_privatekey_export(const dht_privatekey* k, char* out, size_t* out_size, dht_publickey* dht_privatekey_get_publickey(const dht_privatekey* k) { const auto& key = *reinterpret_cast<const PrivkeySp*>(k); - return reinterpret_cast<dht_publickey*>(new PubkeySp(std::make_shared<dht::crypto::PublicKey>(key->getPublicKey()))); + return reinterpret_cast<dht_publickey*>(new PubkeySp(key->getSharedPublicKey())); } void dht_privatekey_delete(dht_privatekey* pk) {