ssh: move NULL check to the free function Let `ssh_stream_free()` take a NULL stream, as free functions should, and remove the check from the connection setup. The connection setup would not need the check anyhow, as we always have a stream by the time we reach this code.
diff --git a/src/transports/ssh.c b/src/transports/ssh.c
index 5c8545f..83af137 100644
--- a/src/transports/ssh.c
+++ b/src/transports/ssh.c
@@ -177,11 +177,12 @@ static int ssh_stream_write(
static void ssh_stream_free(git_smart_subtransport_stream *stream)
{
ssh_stream *s = (ssh_stream *)stream;
- ssh_subtransport *t = OWNING_SUBTRANSPORT(s);
- int ret;
+ ssh_subtransport *t;
- GIT_UNUSED(ret);
+ if (!stream)
+ return;
+ t = OWNING_SUBTRANSPORT(s);
t->current_stream = NULL;
if (s->channel) {
@@ -621,8 +622,7 @@ static int _git_ssh_setup_conn(
done:
if (error < 0) {
- if (*stream)
- ssh_stream_free(*stream);
+ ssh_stream_free(*stream);
if (session)
libssh2_session_free(session);