]> granicus.if.org Git - icu/commitdiff
add U_FAILURE(status) in emplaceBackAndConfirm
authoryounies <younies@chromium.org>
Tue, 16 Jun 2020 18:57:18 +0000 (20:57 +0200)
committeryounies <younies@chromium.org>
Tue, 16 Jun 2020 18:57:18 +0000 (20:57 +0200)
icu4c/source/common/cmemory.h

index 19b4f5df000b532913ba3283cff76df63942fdb6..11c7ab8578101668e40fc2c3485690a86d1541d9 100644 (file)
@@ -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;