]> granicus.if.org Git - icu/commitdiff
ICU-11809 Null terminate buffer in initCurrency
authorMichael Ow <mow@svn.icu-project.org>
Thu, 19 Nov 2015 18:58:42 +0000 (18:58 +0000)
committerMichael Ow <mow@svn.icu-project.org>
Thu, 19 Nov 2015 18:58:42 +0000 (18:58 +0000)
X-SVN-Rev: 38090

icu4c/source/i18n/measunit.cpp
icu4c/source/i18n/numfmt.cpp

index 40b954755567067a663edcf43457bed472a1ce81..80fa07a2d16bffa2692004189168409e8bdf8232 100644 (file)
@@ -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;
     }
 }
 
index 771b12a5c0739ea9e24fc90fe9038f7ce9589750..f59a1f60d1c66044e91bb39f510df9fd435abc17 100644 (file)
@@ -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;
     }