X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Futil%2Fpersist.rs;h=372a094a931bed6dcca159e4bab310cdd7863a4b;hb=26b515c13cccd1d027e67d0c65d69321d235ce40;hp=ca0605c95983afd3b370cafddaf82de2868dadfb;hpb=c60d3058af1b8bdbb5de47d960d8a68a009ecdb7;p=rust-lightning diff --git a/lightning/src/util/persist.rs b/lightning/src/util/persist.rs index ca0605c9..372a094a 100644 --- a/lightning/src/util/persist.rs +++ b/lightning/src/util/persist.rs @@ -216,6 +216,12 @@ where for stored_key in kv_store.list( CHANNEL_MONITOR_PERSISTENCE_NAMESPACE, CHANNEL_MONITOR_PERSISTENCE_SUB_NAMESPACE)? { + if stored_key.len() < 66 { + return Err(io::Error::new( + io::ErrorKind::InvalidData, + "Stored key has invalid length")); + } + let txid = Txid::from_hex(stored_key.split_at(64).0).map_err(|_| { io::Error::new(io::ErrorKind::InvalidData, "Invalid tx ID in stored key") })?;