projects
/
rust-lightning
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f389a0e
)
Enforce that no bytes remain for TransactionU16LenLimited read
author
Duncan Dean
<git@dunxen.dev>
Tue, 9 May 2023 06:37:58 +0000
(08:37 +0200)
committer
Duncan Dean
<git@dunxen.dev>
Tue, 9 May 2023 06:37:58 +0000
(08:37 +0200)
lightning/src/util/ser.rs
patch
|
blob
|
history
diff --git
a/lightning/src/util/ser.rs
b/lightning/src/util/ser.rs
index 1570e5aeea44de753460b1bfcb8523c00b690dfc..cbdb5485e7bd984312c5a139e220835769f8f73b 100644
(file)
--- a/
lightning/src/util/ser.rs
+++ b/
lightning/src/util/ser.rs
@@
-1384,7
+1384,12
@@
impl Readable for TransactionU16LenLimited {
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
let len = <u16 as Readable>::read(r)?;
let mut tx_reader = FixedLengthReader::new(r, len as u64);
- Ok(Self(Readable::read(&mut tx_reader)?))
+ let tx: Transaction = Readable::read(&mut tx_reader)?;
+ if tx_reader.bytes_remain() {
+ Err(DecodeError::BadLengthDescriptor)
+ } else {
+ Ok(Self(tx))
+ }
}
}