diff options
author | Guannan Ren <gren@redhat.com> | 2012-08-27 16:59:25 +0800 |
---|---|---|
committer | Guannan Ren <gren@redhat.com> | 2012-08-27 16:59:25 +0800 |
commit | 2b8624dd33023bd706b55b5a956d242d53928ec5 (patch) | |
tree | c2fdcecdadd17c6f832c7557235845d0f5bd38a1 /src/rpc/virnetclient.c | |
parent | 340196c46fc8f4f266d16deb2c70a76d84368584 (diff) | |
download | libvirt-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.c | 3 |
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; } |