From: Andy Heninger Date: Wed, 29 Jun 2011 23:25:35 +0000 (+0000) Subject: ICU-8629 fix unsafe memcpy of UnicodeStrings. X-Git-Tag: milestone-59-0-1~4704 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe56e19f4041127350affc39021bb9f4b9f989db;p=icu ICU-8629 fix unsafe memcpy of UnicodeStrings. X-SVN-Rev: 30254 --- diff --git a/icu4c/source/i18n/colldata.cpp b/icu4c/source/i18n/colldata.cpp index 69ea3043cd9..6d73aeacc40 100644 --- a/icu4c/source/i18n/colldata.cpp +++ b/icu4c/source/i18n/colldata.cpp @@ -234,10 +234,14 @@ void StringList::add(const UnicodeString *string, UErrorCode &status) if (listSize >= listMax) { int32_t newMax = listMax + STRING_LIST_BUFFER_SIZE; - UnicodeString *newStrings = new UnicodeString[newMax]; - - uprv_memcpy(newStrings, strings, listSize * sizeof(UnicodeString)); + if (newStrings == NULL) { + status = U_MEMORY_ALLOCATION_ERROR; + return; + } + for (int32_t i=0; i