From 90adffd23695990e878303a4944fe953c0993789 Mon Sep 17 00:00:00 2001 From: liga Date: Fri, 30 May 2025 20:20:41 +0000 Subject: [PATCH] fix: escape backslashes in debug locations for HTMLData serialization (#4116) --- packages/fullstack-protocol/src/lib.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/fullstack-protocol/src/lib.rs b/packages/fullstack-protocol/src/lib.rs index 7f92a9f3f..4d170ea7c 100644 --- a/packages/fullstack-protocol/src/lib.rs +++ b/packages/fullstack-protocol/src/lib.rs @@ -346,7 +346,15 @@ impl HTMLData { let body = list .iter() .map(|s| match s { - Some(s) => format!(r#""{s}""#), + Some(s) => { + // Escape backslashes, quotes, and newlines + let escaped = s + .replace(r#"\"#, r#"\\"#) + .replace("\n", r#"\n"#) + .replace(r#"""#, r#"\""#); + + format!(r#""{escaped}""#) + } None => r#""unknown""#.to_string(), }) .collect::>()