Version 3.0.0 introduced an AtomicStr
type, that is used to store the current locale. It stores the locale as a raw pointer to an Arc<String>
. The locale can be read with AtomicStr::as_str()
. AtomicStr::as_str()
does not increment the usage counter of the Arc
.
If the locale is changed in one thread, another thread can have a stale -- possibly already freed -- reference to the stored string.
{ "nvd_published_at": null, "cwe_ids": [ "CWE-416" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2024-01-23T20:10:48Z" }