]> git.ipfire.org Git - thirdparty/libvirt.git/commit
rpc: virNetClientNew: fix socket leak on error path
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 18 Jan 2019 08:10:41 +0000 (11:10 +0300)
committerNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 18 Jan 2019 11:01:27 +0000 (14:01 +0300)
commitd051e7f703dfc97e2754d93d46eab8f515162b4c
treefb2dfdc07fb41026b6cb49e68cfca1ca56685b1e
parentb70fb35d81f625ec4e14392de0d2711e8659cd53
rpc: virNetClientNew: fix socket leak on error path

if virNetClientNew finishes with error before sock is set
to client object then sock does not get unrefed. This is
unexpected by function clients like virNetClientNewUNIX.
Let's make sure sock gets unrefed on any error path.

Next some clients like virNetClientNewLibSSH2 try to unref
sock on virNetClientNew errors. This is not correct even
before this patch because in some cases virNetClientNew
unrefed sock on error path by itself. Let's give up
sock managment to virNetClientNew entirely.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
src/rpc/virnetclient.c