From 257d5a0a275a68c05cf1367b8d6cff418cf2922c Mon Sep 17 00:00:00 2001 From: Michael Ow Date: Thu, 19 Nov 2015 18:58:42 +0000 Subject: [PATCH] ICU-11809 Null terminate buffer in initCurrency X-SVN-Rev: 38090 --- icu4c/source/i18n/measunit.cpp | 1 + icu4c/source/i18n/numfmt.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/icu4c/source/i18n/measunit.cpp b/icu4c/source/i18n/measunit.cpp index 40b95475556..80fa07a2d16 100644 --- a/icu4c/source/i18n/measunit.cpp +++ b/icu4c/source/i18n/measunit.cpp @@ -1222,6 +1222,7 @@ void MeasureUnit::initCurrency(const char *isoCurrency) { fSubTypeId = result - gOffsets[fTypeId]; } else { uprv_strncpy(fCurrency, isoCurrency, UPRV_LENGTHOF(fCurrency)); + fCurrency[3] = 0; } } diff --git a/icu4c/source/i18n/numfmt.cpp b/icu4c/source/i18n/numfmt.cpp index 771b12a5c07..f59a1f60d1c 100644 --- a/icu4c/source/i18n/numfmt.cpp +++ b/icu4c/source/i18n/numfmt.cpp @@ -276,7 +276,8 @@ NumberFormat::operator=(const NumberFormat& rhs) fMaxFractionDigits = rhs.fMaxFractionDigits; fMinFractionDigits = rhs.fMinFractionDigits; fParseIntegerOnly = rhs.fParseIntegerOnly; - u_strncpy(fCurrency, rhs.fCurrency, 4); + u_strncpy(fCurrency, rhs.fCurrency, 3); + fCurrency[3] = 0; fLenient = rhs.fLenient; fCapitalizationContext = rhs.fCapitalizationContext; } -- 2.40.0