ICU-10013 Merge r33424 into ICU4C maint-51

X-SVN-Rev: 33425
diff --git a/source/test/intltest/rbbitst.cpp b/source/test/intltest/rbbitst.cpp
index 3339f6a..a68790b 100644
--- a/source/test/intltest/rbbitst.cpp
+++ b/source/test/intltest/rbbitst.cpp
@@ -4232,6 +4232,9 @@
     LocalPointer<RuleBasedBreakIterator> brkiter(static_cast<RuleBasedBreakIterator *>(
         BreakIterator::createWordInstance(Locale::getRoot(), status)));
     TEST_ASSERT_SUCCESS(status);
+    if (U_FAILURE(status)) {
+        return;
+    }
     brkiter->setText(text);
     int32_t offset, rstatus;
     brkiter->last();
diff --git a/source/test/intltest/regiontst.cpp b/source/test/intltest/regiontst.cpp
index 2626571..635a1b5 100644
--- a/source/test/intltest/regiontst.cpp
+++ b/source/test/intltest/regiontst.cpp
@@ -694,12 +694,19 @@
 
 void RegionTest::TestNoContainedRegions(void) {
   UErrorCode status = U_ZERO_ERROR;
-  const char *emptyStr = Region::getInstance("BM",status)->getContainedRegions()->next(NULL, status);
+  const Region *region = Region::getInstance("BM",status);
+  if (U_FAILURE(status) || region == NULL) {
+      dataerrln("Fail called to Region::getInstance(\"BM\", status) - %s", u_errorName(status));
+      return;
+  }
+  StringEnumeration *containedRegions = region->getContainedRegions();
+  const char *emptyStr = containedRegions->next(NULL, status);
   if (U_FAILURE(status)||(emptyStr!=NULL)) {
     errln("Error, 'BM' should have no subregions, but returned str=%p, err=%s\n", emptyStr, u_errorName(status));
   } else {
     logln("Success - BM has no subregions\n");
   }
+  delete containedRegions;
 }
 
 #endif /* #if !UCONFIG_NO_FORMATTING */