Fail secp256k1 if the instruction data looks incorrect (#19300)
This commit is contained in:
@@ -131,10 +131,14 @@ impl BanksServer {
|
||||
fn verify_transaction(
|
||||
transaction: &Transaction,
|
||||
libsecp256k1_0_5_upgrade_enabled: bool,
|
||||
libsecp256k1_fail_on_bad_count: bool,
|
||||
) -> transaction::Result<()> {
|
||||
if let Err(err) = transaction.verify() {
|
||||
Err(err)
|
||||
} else if let Err(err) = transaction.verify_precompiles(libsecp256k1_0_5_upgrade_enabled) {
|
||||
} else if let Err(err) = transaction.verify_precompiles(
|
||||
libsecp256k1_0_5_upgrade_enabled,
|
||||
libsecp256k1_fail_on_bad_count,
|
||||
) {
|
||||
Err(err)
|
||||
} else {
|
||||
Ok(())
|
||||
@@ -228,6 +232,7 @@ impl Banks for BanksServer {
|
||||
if let Err(err) = verify_transaction(
|
||||
&transaction,
|
||||
self.bank(commitment).libsecp256k1_0_5_upgrade_enabled(),
|
||||
self.bank(commitment).libsecp256k1_fail_on_bad_count(),
|
||||
) {
|
||||
return Some(Err(err));
|
||||
}
|
||||
|
Reference in New Issue
Block a user