Browse Source

fix: escape backslashes in debug locations for HTMLData serialization (#4116)

liga 4 weeks ago
parent
commit
90adffd236
1 changed files with 9 additions and 1 deletions
  1. 9 1
      packages/fullstack-protocol/src/lib.rs

+ 9 - 1
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::<Vec<_>>()