From 4792bd80c542f7af373bc939492017bd420a3f3b Mon Sep 17 00:00:00 2001 Message-Id: <4792bd80c542f7af373bc939492017bd420a3f3b@dist-git> From: Laine Stump Date: Wed, 14 Apr 2021 23:25:33 -0400 Subject: [PATCH] network: make it safe to call networkSetupPrivateChains() multiple times MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit networkSetupPrivateChains() is currently called only once per run of libvirtd, so it can assume that errInitV4 and errInitV6 are empty/null when it is called. In preparation for potentially calling this function multiple times during one run, this patch moves the reset of errInitV[46] to the top of the function, to assure no memory is leaked. Signed-off-by: Laine Stump Reviewed-by: Daniel P. Berrangé (cherry picked from commit de110f110fb917a31b9f33ad8e4b3c1d3284766a) https://bugzilla.redhat.com/1942805 Message-Id: <20210415032534.723202-2-laine@redhat.com> Reviewed-by: Pavel Hrdina --- src/network/bridge_driver_linux.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_linux.c index 9de8e93c60..b6b324d1d5 100644 --- a/src/network/bridge_driver_linux.c +++ b/src/network/bridge_driver_linux.c @@ -48,6 +48,10 @@ static void networkSetupPrivateChains(void) VIR_DEBUG("Setting up global firewall chains"); createdChains = false; + virFreeError(errInitV4); + errInitV4 = NULL; + virFreeError(errInitV6); + errInitV6 = NULL; rc = iptablesSetupPrivateChains(VIR_FIREWALL_LAYER_IPV4); if (rc < 0) { @@ -56,8 +60,6 @@ static void networkSetupPrivateChains(void) errInitV4 = virSaveLastError(); virResetLastError(); } else { - virFreeError(errInitV4); - errInitV4 = NULL; if (rc) { VIR_DEBUG("Created global IPv4 chains"); createdChains = true; @@ -73,8 +75,6 @@ static void networkSetupPrivateChains(void) errInitV6 = virSaveLastError(); virResetLastError(); } else { - virFreeError(errInitV6); - errInitV6 = NULL; if (rc) { VIR_DEBUG("Created global IPv6 chains"); createdChains = true; -- 2.31.1