summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-10-21 09:55:49 +0200
committerCarl Hetherington <cth@carlh.net>2025-10-21 20:57:41 +0200
commit46980fff17af279478e43f68420bbe9a2b19fda9 (patch)
treea43bdae45451d20e965b74a924b3178b318ecda7
parent5d56469f49862026cba3bda7a4a34feca7fe9818 (diff)
Fix memory leak when using libicu.
-rw-r--r--src/lib/util.cc2
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 */