EmbarkStudios / discord-sdk

An open implementation of the Discord Game SDK in Rust
Apache License 2.0
150 stars 10 forks source link

Improper truncation of UTF-8 strings in `discord_sdk::activity::truncate` #35

Closed Friz64 closed 7 months ago

Friz64 commented 8 months ago
thread 'main' panicked at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/string.rs:1396:13:
assertion failed: self.is_char_boundary(new_len)
stack backtrace:
   0: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:144:5
   3: discord_sdk::activity::truncate::{{closure}}
   4: discord_sdk::activity::ActivityBuilder::details

https://github.com/EmbarkStudios/discord-sdk/blob/7e0eca4fdefa642aecc00f8e943e26cd0d2ab6ab/sdk/src/activity.rs#L753-L756

To Reproduce Steps to reproduce the behavior:

  1. Call discord_sdk::activity::ActivityBuilder::default().details("xäääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää")