diff options
| author | tv <tv@krebsco.de> | 2026-10-26 22:16:34 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-26 22:16:34 +0100 |
| commit | c5ac1b649c343899286dccf87b5942c4ea7a2937 (patch) | |
| tree | a147961a4f589043568e8588a992f4eddd0fb6f7 /src/swarm/sync.rs | |
| parent | 79ec1d762bbf8655d4636fbaff1da379db25761f (diff) | |
reject and warn about too large delta blobs
Diffstat (limited to 'src/swarm/sync.rs')
| -rw-r--r-- | src/swarm/sync.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/swarm/sync.rs b/src/swarm/sync.rs index 70ce28e..4e382ec 100644 --- a/src/swarm/sync.rs +++ b/src/swarm/sync.rs @@ -346,6 +346,11 @@ pub(crate) async fn handle_sync( return Ok(()); } }; + if payload.0.len() > crate::swarm::blob::MAX_SYNC_MESSAGE { + // Not decoded: a node of this version sends a delta instead. + warn!(peer = %peer, bytes = payload.0.len(), "Dropping a sync message larger than any sender should send"); + return Ok(()); + } state.stats.sync_received(payload.0.len()); let applied = { |
