From: Eric Blake Date: Mon, 4 Jul 2011 01:45:21 +0000 (+0800) Subject: rpc: fix logic bug X-Git-Tag: v0.9.3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2aa83b43d3ddb75a4e9eb9672d3bc608c2022c7c;p=thirdparty%2Flibvirt.git rpc: fix logic bug Spotted by Coverity. If we don't update tmp each time through the loop, then if the filter being removed was not the head of the list, we accidentally lose all filters prior to the one we wanted to remove. * src/rpc/virnetserverclient.c (virNetServerClientRemoveFilter): Don't lose unrelated filters. --- diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index 5c23cf2410..30d7fcbd5d 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -240,6 +240,7 @@ void virNetServerClientRemoveFilter(virNetServerClientPtr client, VIR_FREE(tmp); break; } + prev = tmp; tmp = tmp->next; }