diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c2bfa43e..256f92236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Unreleased + +### Fixed +- fix escaping in generated QR-code-SVG #3295 + ## 1.79.0 ### Changes diff --git a/src/qr_code_generator.rs b/src/qr_code_generator.rs index cdfa5d428..502b0ba8a 100644 --- a/src/qr_code_generator.rs +++ b/src/qr_code_generator.rs @@ -65,13 +65,12 @@ async fn generate_verification_qr(context: &Context) -> Result { } fn inner_generate_secure_join_qr_code( - raw_qrcode_description: &str, + qrcode_description: &str, qrcode_content: &str, color: &str, avatar: Option>, avatar_letter: char, ) -> Result { - let qrcode_description = &escaper::encode_minimal(raw_qrcode_description); // config let width = 515.0; let height = 630.0; @@ -262,3 +261,21 @@ fn inner_generate_secure_join_qr_code( Ok(svg) } + +#[cfg(test)] +mod tests { + use super::*; + + #[async_std::test] + async fn test_svg_escaping() { + let svg = inner_generate_secure_join_qr_code( + "descr123 \" < > &", + "qr-code-content", + "#000000", + None, + 'X', + ) + .unwrap(); + assert!(svg.contains("descr123 " < > &")) + } +}