diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-10-21 09:55:49 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-10-21 20:57:41 +0200 |
| commit | 46980fff17af279478e43f68420bbe9a2b19fda9 (patch) | |
| tree | a43bdae45451d20e965b74a924b3178b318ecda7 | |
| parent | 5d56469f49862026cba3bda7a4a34feca7fe9818 (diff) | |
Fix memory leak when using libicu.
| -rw-r--r-- | src/lib/util.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc index 310f6dd66..8628ee3e0 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -747,6 +747,8 @@ careful_string_filter(string s, wstring allowed) auto transliterated = icu::UnicodeString::fromUTF8(icu::StringPiece(s)); auto status = U_ZERO_ERROR; auto transliterator = icu::Transliterator::createInstance("NFD; [:M:] Remove; NFC", UTRANS_FORWARD, status); + dcp::ScopeGuard sg = [transliterator]() { delete transliterator; }; + transliterator->transliterate(transliterated); /* Some things are missed by ICU's transliterator */ |
