]> granicus.if.org Git - icu/commitdiff
ICU-11706 Fix memory leak when DateIntervalFormat::setDateIntervalInfo is called
authorPeter Edberg <pedberg@unicode.org>
Wed, 24 Jun 2015 21:43:08 +0000 (21:43 +0000)
committerPeter Edberg <pedberg@unicode.org>
Wed, 24 Jun 2015 21:43:08 +0000 (21:43 +0000)
X-SVN-Rev: 37620

icu4c/source/i18n/dtitvfmt.cpp

index 1c2ab68c2e23ce294bf0ebf0d85f380c75e3f634..e0601f08d83ea0c786079c5504fbd861be3a5662 100644 (file)
@@ -435,6 +435,15 @@ DateIntervalFormat::setDateIntervalInfo(const DateIntervalInfo& newItvPattern,
                                         UErrorCode& status) {
     delete fInfo;
     fInfo = new DateIntervalInfo(newItvPattern);
+
+    // Delete patterns that get reset by initializePattern
+    delete fDatePattern;
+    fDatePattern = NULL;
+    delete fTimePattern;
+    fTimePattern = NULL;
+    delete fDateTimeFormat;
+    fDateTimeFormat = NULL;
+
     if ( fDateFormat ) {
         initializePattern(status);
     }