From: younies <younies@chromium.org>
Date: Tue, 16 Jun 2020 18:57:18 +0000 (+0200)
Subject: add U_FAILURE(status) in emplaceBackAndConfirm
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63b93bde5c4c9fe030d490d5d448087aa0d4e5fd;p=icu

add U_FAILURE(status) in emplaceBackAndConfirm
---

diff --git a/icu4c/source/common/cmemory.h b/icu4c/source/common/cmemory.h
index 19b4f5df000..11c7ab85781 100644
--- a/icu4c/source/common/cmemory.h
+++ b/icu4c/source/common/cmemory.h
@@ -778,6 +778,9 @@ public:
 
     template <typename... Args>
     T *emplaceBackAndCheckErrorCode(UErrorCode &status, Args &&... args) {
+        if (U_FAILURE(status)) {
+            return nullptr;
+        }
         T *pointer = this->create(args...);
         if (U_SUCCESS(status) && pointer == nullptr) {
             status = U_MEMORY_ALLOCATION_ERROR;