diff --git a/cli-session.c b/cli-session.c index c2e4863..8cd75f8 100644 --- a/cli-session.c +++ b/cli-session.c @@ -100,6 +100,7 @@ void cli_connected(int result, int sock, void* userdata, const char *errstring) dropbear_exit("Connect failed: %s", errstring); } ses.sock_in = ses.sock_out = sock; + update_channel_prio(); } void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection *progress) { diff --git a/common-session.c b/common-session.c index 6ca7f54..d95c2ee 100644 --- a/common-session.c +++ b/common-session.c @@ -552,6 +552,11 @@ void update_channel_prio() { TRACE(("update_channel_prio")) + if (ses.sock_out < 0) { + TRACE(("leave update_channel_prio: no socket")) + return; + } + new_prio = DROPBEAR_PRIO_BULK; for (i = 0; i < ses.chansize; i++) { struct Channel *channel = ses.channels[i];