From: John Wolfe Date: Tue, 22 Sep 2020 21:54:06 +0000 (-0700) Subject: Fix a minor memory leak in VIX Listfiles(). X-Git-Tag: stable-11.3.0~322 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6d96d1c7e53ea53affacb538342857d688a7aa1;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; }