From cab75b782990c276eb0dc981d49fc3a23cc1758c Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Wed, 15 Aug 2018 11:25:49 -0600 Subject: [PATCH] Handle potential panics --- src/rpc.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/rpc.rs b/src/rpc.rs index 655e0da2c5..6fc3bfd680 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -94,9 +94,10 @@ impl RpcSol for RpcSolImpl { type Metadata = Meta; fn confirm_transaction(&self, meta: Self::Metadata, id: String) -> Result { - let signature_vec = bs58::decode(id) - .into_vec() - .expect("base58-encoded public key"); + let signature_vec = match bs58::decode(id).into_vec() { + Ok(signature_vec) => signature_vec, + Err(_) => return Err(Error::invalid_request()), + }; if signature_vec.len() != mem::size_of::() { Err(Error::invalid_request()) @@ -120,9 +121,10 @@ impl RpcSol for RpcSolImpl { } } fn get_balance(&self, meta: Self::Metadata, id: String) -> Result<(String, i64)> { - let pubkey_vec = bs58::decode(id) - .into_vec() - .expect("base58-encoded public key"); + let pubkey_vec = match bs58::decode(id).into_vec() { + Ok(pubkey_vec) => pubkey_vec, + Err(_) => return Err(Error::invalid_request()), + }; if pubkey_vec.len() != mem::size_of::() { Err(Error::invalid_request())