diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-07-11 14:58:03 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-07-11 14:58:03 +0200 | 
| commit | 30ab7b2b0bf4ab030184987937c15cf6ff0a6777 (patch) | |
| tree | 671149309dd03d7204d9e65d44b6f9145e72e04a /server | |
| parent | c94bbfe317ebcec042f2e6e7a16f6dda068db9a2 (diff) | |
| download | hurrycurry-30ab7b2b0bf4ab030184987937c15cf6ff0a6777.tar hurrycurry-30ab7b2b0bf4ab030184987937c15cf6ff0a6777.tar.bz2 hurrycurry-30ab7b2b0bf4ab030184987937c15cf6ff0a6777.tar.zst | |
abort recording if packet is invalid
Diffstat (limited to 'server')
| -rw-r--r-- | server/replaytool/src/main.rs | 10 | 
1 files changed, 2 insertions, 8 deletions
| 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 <https://www.gnu.org/licenses/>.  */ -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, .. }); | 
