summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp')
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp b/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp
index 70ffacac4b7..72197cdd8c7 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp
+++ b/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp
@@ -230,6 +230,11 @@ bool FormattedValueStringBuilderImpl::nextPositionImpl(ConstrainedFieldPosition&
if (si + 1 < spanIndicesCount) {
nextSpanStart = spanIndices[si + 1].start;
}
+ if (length == 0) {
+ // ICU-21871: Don't return fields on empty spans
+ i--;
+ continue;
+ }
if (cfpos.matchesField(spanCategory, spanValue)) {
fieldStart = i - fString.fZero;
int32_t end = fieldStart + length;