From 30ab7b2b0bf4ab030184987937c15cf6ff0a6777 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 11 Jul 2024 14:58:03 +0200 Subject: abort recording if packet is invalid --- server/replaytool/src/main.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'server/replaytool/src') diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs index f92ac90a..b591bf92 100644 --- a/server/replaytool/src/main.rs +++ b/server/replaytool/src/main.rs @@ -15,7 +15,7 @@ along with this program. If not, see . */ -use anyhow::anyhow; +use anyhow::{anyhow, Context}; use async_compression::tokio::{bufread::ZstdDecoder, write::ZstdEncoder}; use clap::Parser; use futures_util::{SinkExt, StreamExt}; @@ -179,13 +179,7 @@ pub async fn do_record(output: &Path, url: &str) -> anyhow::Result<()> { while let Some(Ok(message)) = sock.next().await { match message { Message::Text(line) => { - let packet: PacketC = match serde_json::from_str(&line) { - Ok(p) => p, - Err(e) => { - warn!("invalid packet: {e}"); - break; - } - }; + let packet: PacketC = serde_json::from_str(&line).context("invalid packet")?; debug!("<- {packet:?}"); let is_end = matches!(packet, PacketC::SetIngame { state: false, .. }); -- cgit v1.2.3-70-g09d2