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 <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander 2014-11-07 19:52:33 +01:00
parent 72f808c41f
commit f9f0f54524

View File

@ -1128,7 +1128,7 @@ phypConnectOpen(virConnectPtr conn,
virConnectAuthPtr auth, unsigned int flags) virConnectAuthPtr auth, unsigned int flags)
{ {
LIBSSH2_SESSION *session = NULL; LIBSSH2_SESSION *session = NULL;
int internal_socket; int internal_socket = -1;
uuid_tablePtr uuid_table = NULL; uuid_tablePtr uuid_table = NULL;
phyp_driverPtr phyp_driver = NULL; phyp_driverPtr phyp_driver = NULL;
char *char_ptr; char *char_ptr;
@ -1232,7 +1232,7 @@ phypConnectOpen(virConnectPtr conn,
libssh2_session_free(session); libssh2_session_free(session);
} }
VIR_FORCE_CLOSE(phyp_driver->sock); VIR_FORCE_CLOSE(internal_socket);
return VIR_DRV_OPEN_ERROR; return VIR_DRV_OPEN_ERROR;
} }