From f9f0f54524f53797b60128d1d11e45d37a694cb2 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Fri, 7 Nov 2014 19:52:33 +0100 Subject: [PATCH] phyp: Fix NULL dereference in phypConnectOpen Coverity found out that commit cd490086 caused a possible NULL pointer dereference. This is due to the fact, that phyp_driver is NULL at the time of closing the socket, instead of connection_data, which kept the socket before the mentioned commit, could not be NULL. However, internal_socket is still the local socket that can be closed, even unconditionally, if we initialize it to -1. Signed-off-by: Martin Kletzander --- src/phyp/phyp_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c index 7c8bc5c237..386d25f855 100644 --- a/src/phyp/phyp_driver.c +++ b/src/phyp/phyp_driver.c @@ -1128,7 +1128,7 @@ phypConnectOpen(virConnectPtr conn, virConnectAuthPtr auth, unsigned int flags) { LIBSSH2_SESSION *session = NULL; - int internal_socket; + int internal_socket = -1; uuid_tablePtr uuid_table = NULL; phyp_driverPtr phyp_driver = NULL; char *char_ptr; @@ -1232,7 +1232,7 @@ phypConnectOpen(virConnectPtr conn, libssh2_session_free(session); } - VIR_FORCE_CLOSE(phyp_driver->sock); + VIR_FORCE_CLOSE(internal_socket); return VIR_DRV_OPEN_ERROR; }