@@ -8346,19 +8346,24 @@ This indicates a bug inside LDK. Please report this error at https://github.com/
83468346 // TODO: Check if have any stale or missing ChannelMonitor.
83478347 let logger = WithContext::from(&self.logger, Some(counterparty_node_id), None, None);
83488348
8349- if msg.data.len() < 16 {
8349+ // `MIN_CYPHERTEXT_LEN` is 16 bytes because the mandatory authentication tag length is 16 bytes.
8350+ const MIN_CYPHERTEXT_LEN: usize = 16;
8351+
8352+ if msg.data.len() < MIN_CYPHERTEXT_LEN {
83508353 log_debug!(logger, "Invalid YourPeerStorage received from {}", log_pubkey!(counterparty_node_id));
83518354 return Err(MsgHandleErrInternal::from_chan_no_close(ChannelError::Warn(
83528355 "Invalid peer_storage_retrieval message received.".into(),
83538356 ), ChannelId([0; 32])));
83548357 }
83558358
8356- let mut res = vec![0; msg.data.len() - 16];
83578359 let our_peerstorage_encryption_key = self.node_signer.get_peer_storage_key();
83588360
8359- match OurPeerStorage::decrypt_our_peer_storage(&mut res, &msg.data.clone(), our_peerstorage_encryption_key) {
8360- Ok(()) => {
8361- // Decryption successful, the plaintext is now stored in `res`.
8361+ match OurPeerStorage::decrypt_our_peer_storage(&msg.data, our_peerstorage_encryption_key) {
8362+ Ok(our_peer_storage) => {
8363+ // Decryption successful.
8364+ if our_peer_storage.get_ser_channels().len() == 0 {
8365+ log_trace!(logger, "Received a peer storage from peer {} with 0 channels.", log_pubkey!(counterparty_node_id));
8366+ }
83628367 }
83638368 Err(_) => {
83648369 log_debug!(logger, "Invalid YourPeerStorage received from {}", log_pubkey!(counterparty_node_id));
@@ -8368,11 +8373,6 @@ This indicates a bug inside LDK. Please report this error at https://github.com/
83688373 ), ChannelId([0; 32])));
83698374 }
83708375 }
8371- let our_peer_storage = <OurPeerStorage as Readable>::read(&mut ::bitcoin::io::Cursor::new(res)).unwrap();
8372-
8373- if our_peer_storage.get_ser_channels().len() == 0 {
8374- log_debug!(logger, "Received a peer storage from peer {} with 0 channels.", log_pubkey!(counterparty_node_id));
8375- }
83768376
83778377 Ok(())
83788378 }
0 commit comments