From 4e2a13bb8e4dbb5893787c516f3d748f1b8a0861 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 17 Sep 2026 21:14:41 -0400 Subject: [PATCH] drop public keys if FromBuffer failed --- libi2pd/Identity.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libi2pd/Identity.cpp b/libi2pd/Identity.cpp index 06b4b13f..378c63ea 100644 --- a/libi2pd/Identity.cpp +++ b/libi2pd/Identity.cpp @@ -535,6 +535,11 @@ namespace data { m_Public = std::make_shared(); size_t ret = m_Public->FromBuffer (buf, len); + if (!ret) + { + m_Public = nullptr; + return 0; + } auto cryptoKeyLen = GetPrivateKeyLen (); if (!ret || ret + cryptoKeyLen > len) return 0; // overflow memcpy (m_PrivateKey, buf + ret, cryptoKeyLen);