From 2b877cd03cf9caff74477f1880bf1d486cd76320 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Wed, 29 Jan 2020 18:19:01 +0200 Subject: [PATCH] fix crash bug on decrypt with invalid rsa on the client side --- src/rsa.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rsa.cpp b/src/rsa.cpp index ba557ac..b382313 100644 --- a/src/rsa.cpp +++ b/src/rsa.cpp @@ -31,9 +31,13 @@ static CryptoPP::AutoSeededRandomPool prng; void RSA::decrypt(char* msg) const { - CryptoPP::Integer m{ reinterpret_cast(msg), 128 }; - auto c = pk.CalculateInverse(prng, m); - c.Encode(reinterpret_cast(msg), 128); + try { + CryptoPP::Integer m{ reinterpret_cast(msg), 128 }; + auto c = pk.CalculateInverse(prng, m); + c.Encode(reinterpret_cast(msg), 128); + } + catch (const CryptoPP::Exception& e) { + } } static const std::string header = "-----BEGIN RSA PRIVATE KEY-----";