fix(addresses): relax length check during parsing (#491)

This commit is contained in:
Santiago Carmuega 2024-07-19 09:36:07 -03:00 committed by GitHub
parent 5d00e2c992
commit c7f2240e0e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -353,7 +353,7 @@ macro_rules! parse_shelley_fn {
}; };
($name:tt, $payment:tt) => { ($name:tt, $payment:tt) => {
fn $name(header: u8, payload: &[u8]) -> Result<Address, Error> { fn $name(header: u8, payload: &[u8]) -> Result<Address, Error> {
if payload.len() != 28 { if payload.len() < 28 {
return Err(Error::InvalidAddressLength(payload.len())); return Err(Error::InvalidAddressLength(payload.len()));
} }
@ -370,7 +370,7 @@ macro_rules! parse_shelley_fn {
macro_rules! parse_stake_fn { macro_rules! parse_stake_fn {
($name:tt, $type:tt) => { ($name:tt, $type:tt) => {
fn $name(header: u8, payload: &[u8]) -> Result<Address, Error> { fn $name(header: u8, payload: &[u8]) -> Result<Address, Error> {
if payload.len() != 28 { if payload.len() < 28 {
return Err(Error::InvalidAddressLength(payload.len())); return Err(Error::InvalidAddressLength(payload.len()));
} }