summaryrefslogtreecommitdiff
path: root/src/rpc/virnetclient.c
diff options
context:
space:
mode:
authorGuannan Ren <gren@redhat.com>2012-08-27 16:59:25 +0800
committerGuannan Ren <gren@redhat.com>2012-08-27 16:59:25 +0800
commit2b8624dd33023bd706b55b5a956d242d53928ec5 (patch)
treec2fdcecdadd17c6f832c7557235845d0f5bd38a1 /src/rpc/virnetclient.c
parent340196c46fc8f4f266d16deb2c70a76d84368584 (diff)
downloadlibvirt-2b8624dd33023bd706b55b5a956d242d53928ec5.tar.gz
rpc: fix segmentation fault caused by null client-sock
The client-sock could have been set to NULL by eventloop thread after async event fired.
Diffstat (limited to 'src/rpc/virnetclient.c')
-rw-r--r--src/rpc/virnetclient.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c
index 4ecc7035bc..43a9814b78 100644
--- a/src/rpc/virnetclient.c
+++ b/src/rpc/virnetclient.c
@@ -644,7 +644,8 @@ virNetClientMarkClose(virNetClientPtr client,
int reason)
{
VIR_DEBUG("client=%p, reason=%d", client, reason);
- virNetSocketRemoveIOCallback(client->sock);
+ if (client->sock)
+ virNetSocketRemoveIOCallback(client->sock);
client->wantClose = true;
client->closeReason = reason;
}