Really don't crash if a connection closes early
authorJiri Denemark <jdenemar@redhat.com>
Mon, 13 Jan 2014 14:46:24 +0000 (15:46 +0100)
committerEric Blake <eblake@redhat.com>
Wed, 15 Jan 2014 16:00:45 +0000 (09:00 -0700)
commitc86813d5527c4e559dded3a7565dc420ac25c30e
treef6de57a0982613c814662abceff7d55ceac50b12
parent700b39d0404402a86a7eb4a881b72d1c9be71e7b
Really don't crash if a connection closes early

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@redhat.com>
(cherry picked from commit 066c8ef6c18bc1faf8b3e10787b39796a7a06cc0)
src/rpc/virnetserverclient.c