[libvirt] [PATCH] Really don't crash if a connection closes early
Eric Blake
eblake at redhat.com
Mon Jan 13 19:46:44 UTC 2014
On 01/13/2014 08:24 AM, Jiri Denemark wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1047577
>
> When writing commit 173c291, I missed the fact virNetServerClientClose
> unlocks the client object before actually clearing client->sock and thus
> it is possible to hit a window when client->keepalive is NULL while
> client->sock is not NULL. I was thinking client->sock == NULL was a
> better check for a closed connection but apparently we have to go with
> client->keepalive == NULL to actually fix the crash.
>
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
> src/rpc/virnetserverclient.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
ACK.
>
> diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c
> index 7830b7f..52b4941 100644
> --- a/src/rpc/virnetserverclient.c
> +++ b/src/rpc/virnetserverclient.c
> @@ -1546,7 +1546,7 @@ virNetServerClientStartKeepAlive(virNetServerClientPtr client)
> /* The connection might have been closed before we got here and thus the
> * keepalive object could have been removed too.
> */
> - if (!client->sock) {
> + if (!client->keepalive) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> _("connection not open"));
> goto cleanup;
>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140113/749bee82/attachment-0001.sig>
More information about the libvir-list
mailing list