upstream commit

fix inverted test on channel open failure path that
"upgraded" a transient failure into a fatal error; reported by sthen and also
seen by benno@; ok sthen@

Upstream-ID: b58b3fbb79ba224599c6cd6b60c934fc46c68472
diff --git a/channels.c b/channels.c
index 6a55d3b..83442be 100644
--- a/channels.c
+++ b/channels.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.374 2017/09/24 09:50:01 djm Exp $ */
+/* $OpenBSD: channels.c,v 1.375 2017/09/24 13:45:34 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -3126,7 +3126,7 @@
 	if ((datafellows & SSH_BUG_OPENFAILURE) == 0) {
 		/* skip language */
 		if ((r = sshpkt_get_cstring(ssh, &msg, NULL)) != 0 ||
-		    (r = sshpkt_get_string_direct(ssh, NULL, NULL)) == 0) {
+		    (r = sshpkt_get_string_direct(ssh, NULL, NULL)) != 0) {
 			error("%s: message/lang: %s", __func__, ssh_err(r));
 			packet_disconnect("Invalid open failure message");
 		}