]> granicus.if.org Git - icu/commitdiff
ICU-13457 Fix initialization & copying of Calendar::validLocale & actualLocale.
authorAndy Heninger <andy.heninger@gmail.com>
Sun, 12 Nov 2017 02:53:40 +0000 (02:53 +0000)
committerAndy Heninger <andy.heninger@gmail.com>
Sun, 12 Nov 2017 02:53:40 +0000 (02:53 +0000)
X-SVN-Rev: 40670

icu4c/source/i18n/calendar.cpp

index 12966a739a3ad9c6a6a5c81d45b4a6d5b1fde39f..4e22dff264456fedc8b1a438dc890562c62cfd37 100644 (file)
@@ -706,7 +706,9 @@ fTime(0),
 fLenient(TRUE),
 fZone(NULL),
 fRepeatedWallTime(UCAL_WALLTIME_LAST),
-fSkippedWallTime(UCAL_WALLTIME_LAST)
+fSkippedWallTime(UCAL_WALLTIME_LAST),
+validLocale(""),
+actualLocale("")
 {
     clear();
     if (U_FAILURE(success)) {
@@ -732,7 +734,9 @@ fTime(0),
 fLenient(TRUE),
 fZone(NULL),
 fRepeatedWallTime(UCAL_WALLTIME_LAST),
-fSkippedWallTime(UCAL_WALLTIME_LAST)
+fSkippedWallTime(UCAL_WALLTIME_LAST),
+validLocale(""),
+actualLocale("")
 {
     if (U_FAILURE(success)) {
         return;
@@ -764,7 +768,9 @@ fTime(0),
 fLenient(TRUE),
 fZone(NULL),
 fRepeatedWallTime(UCAL_WALLTIME_LAST),
-fSkippedWallTime(UCAL_WALLTIME_LAST)
+fSkippedWallTime(UCAL_WALLTIME_LAST),
+validLocale(""),
+actualLocale("")
 {
     if (U_FAILURE(success)) {
         return;
@@ -822,8 +828,8 @@ Calendar::operator=(const Calendar &right)
         fWeekendCease            = right.fWeekendCease;
         fWeekendCeaseMillis      = right.fWeekendCeaseMillis;
         fNextStamp               = right.fNextStamp;
-        uprv_strcpy(validLocale, right.validLocale);
-        uprv_strcpy(actualLocale, right.actualLocale);
+        uprv_strncpy(validLocale, right.validLocale, sizeof(validLocale));
+        uprv_strncpy(actualLocale, right.actualLocale, sizeof(actualLocale));
     }
 
     return *this;