From 6c67c7d635df087c1e32a83978d81617de4d245a Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Fri, 1 Feb 2019 20:31:43 +0900 Subject: [PATCH] support/String: Fix PVS 626 Fix memory leak when realloc() fails. Change-Id: I5b44df57bdd251e5164938ed70412c909ce09df1 Reviewed-on: https://review.haiku-os.org/c/1004 Reviewed-by: Adrien Destugues --- src/kits/support/String.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kits/support/String.cpp b/src/kits/support/String.cpp index 9bdfcbb280..2089d62960 100644 --- a/src/kits/support/String.cpp +++ b/src/kits/support/String.cpp @@ -2360,9 +2360,14 @@ BString::_Resize(int32 length) if (length < 0) length = 0; - data = (char*)realloc(data, length + kPrivateDataOffset + 1); - if (data == NULL) + char* newData = (char*)realloc(data, length + kPrivateDataOffset + 1); + if (newData == NULL) { + free(data); + data = NULL; return NULL; + } else { + data = newData; + } data += kPrivateDataOffset;