From d26a809f1fc9fe627bda7588c9e631c91df3747a Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 8 Sep 2020 18:50:22 +0000 Subject: [PATCH] getMinimumBalanceForRentExemption now only responds to valid account lengths (#12116) (cherry picked from commit 9e96180ce4a5693294a3af75909cd0723e79a8d4) Co-authored-by: Michael Vines --- core/src/rpc.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/rpc.rs b/core/src/rpc.rs index a63e599e1b..3873b7cfa0 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -52,6 +52,7 @@ use solana_sdk::{ pubkey::Pubkey, signature::Signature, stake_history::StakeHistory, + system_instruction, sysvar::{stake_history, Sysvar}, timing::slot_duration_from_slots_per_year, transaction::{self, Transaction}, @@ -1838,6 +1839,9 @@ impl RpcSol for RpcSolImpl { "get_minimum_balance_for_rent_exemption rpc request received: {:?}", data_len ); + if data_len as u64 > system_instruction::MAX_PERMITTED_DATA_LENGTH { + return Err(Error::invalid_request()); + } Ok(meta.get_minimum_balance_for_rent_exemption(data_len, commitment)) } @@ -2544,7 +2548,7 @@ pub mod tests { message::Message, nonce, rpc_port, signature::{Keypair, Signer}, - system_instruction, system_program, system_transaction, + system_program, system_transaction, transaction::{self, TransactionError}, }; use solana_transaction_status::{EncodedTransaction, TransactionWithStatusMeta, UiMessage};