commit 6502f7dcd7218de0171795aa1e853471177640aa
parent 6ca3e3ffea70fe1f1bcdfc81064c776280ae9fa4
Author: Greg Heartsfield <scsibug@imap.cc>
Date: Sat, 29 Jan 2022 13:19:34 -0600
fix: do not panic when validating events with malformed pubkeys
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/event.rs b/src/event.rs
@@ -148,9 +148,13 @@ impl Event {
let sig = schnorr::Signature::from_str(&self.sig).unwrap();
if let Ok(msg) = secp256k1::Message::from_slice(digest.as_ref()) {
- let pubkey = XOnlyPublicKey::from_str(&self.pubkey).unwrap();
- let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
- matches!(verify, Ok(()))
+ if let Ok(pubkey) = XOnlyPublicKey::from_str(&self.pubkey) {
+ let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
+ matches!(verify, Ok(()))
+ } else {
+ info!("Client sent malformed pubkey");
+ false
+ }
} else {
warn!("Error converting digest to secp256k1 message");
false