From: John Wolfe Date: Tue, 13 Oct 2020 21:00:59 +0000 (-0700) Subject: Fix a minor memory leak in VIX Listfiles(). X-Git-Tag: stable-11.2.0~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f11d66479eaa77015d5a5d7637fff107d1fcb9e3;p=thirdparty%2Fopen-vm-tools.git Fix a minor memory leak in VIX Listfiles(). The GError structure is not cleared in an error code path, which leads to a minor memory leak. Explicitly call g_clear_error(). --- diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c index 79ad9cc15..8b4650468 100644 --- a/open-vm-tools/services/plugins/vix/vixTools.c +++ b/open-vm-tools/services/plugins/vix/vixTools.c @@ -6590,7 +6590,6 @@ VixToolsListFiles(VixCommandRequestHeader *requestMsg, // IN int remaining = 0; int numResults; GRegex *regex = NULL; - GError *gErr = NULL; char *pathName; VMAutomationRequestParser parser; @@ -6644,11 +6643,13 @@ VixToolsListFiles(VixCommandRequestHeader *requestMsg, // IN index, maxResults, (int) offset); if (pattern) { + GError *gErr = NULL; regex = g_regex_new(pattern, 0, 0, &gErr); if (!regex) { g_warning("%s: bad regex pattern '%s' (%s);" "failing with INVALID_ARG\n", __FUNCTION__, pattern, gErr ? gErr->message : ""); + g_clear_error(&gErr); err = VIX_E_INVALID_ARG; goto abort; }