From 54da2ccfa99000a62f22820a3702331bbd131077 Mon Sep 17 00:00:00 2001 From: Cathy Avery Date: Tue, 19 Nov 2019 14:16:06 +0100 Subject: [PATCH 3/3] Fix leaks in ListAliases and ListMappedAliases (9bc72f0b09702754b429115658a85223cb3058bd from devel) RH-Author: Cathy Avery Message-id: <20191119141606.5322-4-cavery@redhat.com> Patchwork-id: 92513 O-Subject: [RHEL8.1.z open-vm-tools PATCH 3/3] Fix leaks in ListAliases and ListMappedAliases (9bc72f0b09702754b429115658a85223cb3058bd from devel) Bugzilla: 1773903 RH-Acked-by: Vitaly Kuznetsov RH-Acked-by: Miroslav Rezanina commit 26b9edbeb79d1c67b9ae73a0c97c48999c1fb503 (origin/stable-10.3.10-vix-memory-leaks) Author: Oliver Kurth Date: Wed Oct 2 17:48:35 2019 -0700 Fix leaks in ListAliases and ListMappedAliases (9bc72f0b09702754b429115658a85223cb3058bd from devel) Signed-off-by: Cathy Avery Conflicts: Previous coverity patch commit d477b6e21915d5099018f4fc4b60f257bb593d72 Signed-off-by: Miroslav Rezanina --- services/plugins/vix/vixTools.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c index 7df91de..2b9dede 100644 --- a/services/plugins/vix/vixTools.c +++ b/services/plugins/vix/vixTools.c @@ -9620,7 +9620,6 @@ VixToolsListAuthAliases(VixCommandRequestHeader *requestMsg, // IN char *destPtr; char *endDestPtr; char *tmpBuf = NULL; - char *recordBuf; size_t recordSize; char *escapedStr = NULL; char *escapedStr2 = NULL; @@ -9679,6 +9678,8 @@ VixToolsListAuthAliases(VixCommandRequestHeader *requestMsg, // IN destPtr += Str_Sprintf(destPtr, endDestPtr - destPtr, "%s", VIX_XML_ESCAPED_TAG); for (i = 0; i < num; i++) { + char *recordBuf = NULL; + escapedStr = VixToolsEscapeXMLString(uaList[i].pemCert); if (escapedStr == NULL) { err = VIX_E_OUT_OF_MEMORY; @@ -9752,6 +9753,8 @@ VixToolsListAuthAliases(VixCommandRequestHeader *requestMsg, // IN Log("%s: ListAuth list results too large, truncating", __FUNCTION__); goto abort; } + free(recordBuf); + recordBuf = NULL; } *result = resultBuffer; @@ -9817,7 +9820,6 @@ VixToolsListMappedAliases(VixCommandRequestHeader *requestMsg, // IN char *destPtr; char *endDestPtr; char *tmpBuf = NULL; - char *recordBuf; char *escapedStr = NULL; char *escapedStr2 = NULL; size_t recordSize; @@ -9870,6 +9872,8 @@ VixToolsListMappedAliases(VixCommandRequestHeader *requestMsg, // IN destPtr += Str_Sprintf(destPtr, endDestPtr - destPtr, "%s", VIX_XML_ESCAPED_TAG); for (i = 0; i < num; i++) { + char *recordBuf = NULL; + escapedStr = VixToolsEscapeXMLString(maList[i].pemCert); if (escapedStr == NULL) { err = VIX_E_OUT_OF_MEMORY; @@ -9941,6 +9945,8 @@ VixToolsListMappedAliases(VixCommandRequestHeader *requestMsg, // IN Log("%s: ListMapped results too large, truncating", __FUNCTION__); goto abort; } + free(recordBuf); + recordBuf = NULL; } *result = resultBuffer; -- 1.8.3.1