diff --git a/icu4c/source/tools/genrb/prscmnts.cpp b/icu4c/source/tools/genrb/prscmnts.cpp index af771313477..fe91a05f7a2 100644 --- a/icu4c/source/tools/genrb/prscmnts.cpp +++ b/icu4c/source/tools/genrb/prscmnts.cpp @@ -160,7 +160,8 @@ getCount(const UChar* source, int32_t srcLen, } int32_t retLen = pattern->split(src, stringArray, MAX_SPLIT_STRINGS, *status); - RegexMatcher matcher(UnicodeString(patternStrings[option]), UREGEX_DOTALL, *status); + UnicodeString patternString(patternStrings[option]); + RegexMatcher matcher(patternString, UREGEX_DOTALL, *status); if (U_FAILURE(*status)) { return 0; } @@ -199,7 +200,8 @@ getAt(const UChar* source, int32_t srcLen, } int32_t retLen = pattern->split(src, stringArray, MAX_SPLIT_STRINGS, *status); - RegexMatcher matcher(UnicodeString(patternStrings[option]), UREGEX_DOTALL, *status); + UnicodeString patternString(patternStrings[option]); + RegexMatcher matcher(patternString, UREGEX_DOTALL, *status); if (U_FAILURE(*status)) { return 0; }