From 88fce24b83171b4605a772178778529955eef950 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Sat, 4 Jan 2020 16:39:09 +0100 Subject: [PATCH] - string_utilities.c: added checks if memory allocation fails --- src/common/string_utilities.c | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/common/string_utilities.c b/src/common/string_utilities.c index 0029673a..25aeb6f2 100644 --- a/src/common/string_utilities.c +++ b/src/common/string_utilities.c @@ -30,9 +30,11 @@ StringUtils_copySubString(char* startPos, char* endPos) char* newString = (char*) GLOBAL_MALLOC(newStringLength + 1); - memcpy(newString, startPos, newStringLength); + if (newString) { + memcpy(newString, startPos, newStringLength); - newString[newStringLength] = 0; + newString[newStringLength] = 0; + } return newString; } @@ -44,7 +46,8 @@ StringUtils_copyString(const char* string) char* newString = (char*) GLOBAL_MALLOC(newStringLength); - memcpy(newString, string, newStringLength); + if (newString) + memcpy(newString, string, newStringLength); return newString; } @@ -65,8 +68,10 @@ StringUtils_createStringFromBuffer(const uint8_t* buf, int size) { char* newStr = (char*) GLOBAL_MALLOC(size + 1); - memcpy(newStr, buf, size); - newStr[size] = 0; + if (newStr) { + memcpy(newStr, buf, size); + newStr[size] = 0; + } return newStr; } @@ -120,18 +125,20 @@ StringUtils_createString(int count, ...) va_end(ap); newStr = (char*) GLOBAL_MALLOC(newStringLength + 1); - currentPos = newStr; + if (newStr) { + currentPos = newStr; - va_start(ap, count); - for (i = 0; i < count; i++) { - char* str = va_arg(ap, char*); - strcpy(currentPos, str); - currentPos += strlen(str); - } - va_end(ap); + va_start(ap, count); + for (i = 0; i < count; i++) { + char* str = va_arg(ap, char*); + strcpy(currentPos, str); + currentPos += strlen(str); + } + va_end(ap); - *currentPos = 0; + *currentPos = 0; + } return newStr; }