Skip to content

Commit 33e901a

Browse files
committed
Enforce that no bytes remain for TransactionU16LenLimited read
1 parent f389a0e commit 33e901a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lightning/src/util/ser.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1384,7 +1384,12 @@ impl Readable for TransactionU16LenLimited {
13841384
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
13851385
let len = <u16 as Readable>::read(r)?;
13861386
let mut tx_reader = FixedLengthReader::new(r, len as u64);
1387-
Ok(Self(Readable::read(&mut tx_reader)?))
1387+
let tx: Transaction = Readable::read(&mut tx_reader)?;
1388+
if tx_reader.bytes_remain() {
1389+
Err(DecodeError::BadLengthDescriptor)
1390+
} else {
1391+
Ok(Self(tx))
1392+
}
13881393
}
13891394
}
13901395

0 commit comments

Comments
 (0)