Skip to content

Commit c114a9f

Browse files
valentinewallacevincenzopalazzo
authored andcommitted
Require length limited reader in impl_writeable_msg
See prior two commits. When deserializing objects via this macro, there is no length prefix so the deser code will read the provided reader until it runs out of bytes. Readable is not an appropriate trait for this situation because it should only be used for structs that are prefixed with a length and know when to stop reading. LengthReadable instead requires that the caller supply only the bytes that are reserved for this struct.
1 parent c355ea4 commit c114a9f

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lightning/src/ln/wire.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,7 @@ where
383383
msgs::NodeAnnouncement::TYPE => {
384384
Ok(Message::NodeAnnouncement(LengthReadable::read_from_fixed_length_buffer(buffer)?))
385385
},
386+
<<<<<<< HEAD
386387
msgs::ChannelUpdate::TYPE => {
387388
Ok(Message::ChannelUpdate(LengthReadable::read_from_fixed_length_buffer(buffer)?))
388389
},
@@ -394,6 +395,15 @@ where
394395
)),
395396
msgs::QueryChannelRange::TYPE => {
396397
Ok(Message::QueryChannelRange(LengthReadable::read_from_fixed_length_buffer(buffer)?))
398+
=======
399+
msgs::ReplyShortChannelIdsEnd::TYPE => {
400+
Ok(Message::ReplyShortChannelIdsEnd(LengthReadable::read_from_fixed_length_buffer(buffer)?))
401+
},
402+
msgs::QueryChannelRange::TYPE => Ok(Message::QueryChannelRange(LengthReadable::read_from_fixed_length_buffer(buffer)?)),
403+
msgs::ReplyChannelRange::TYPE => Ok(Message::ReplyChannelRange(Readable::read(buffer)?)),
404+
msgs::GossipTimestampFilter::TYPE => {
405+
Ok(Message::GossipTimestampFilter(LengthReadable::read_from_fixed_length_buffer(buffer)?))
406+
>>>>>>> 62dd5f596 (Require length limited reader in impl_writeable_msg)
397407
},
398408
msgs::ReplyChannelRange::TYPE => {
399409
Ok(Message::ReplyChannelRange(LengthReadable::read_from_fixed_length_buffer(buffer)?))

0 commit comments

Comments
 (0)