upstream commit

Fix occurrences of "r = func() != 0" which result in the
 wrong error codes being returned due to != having higher precedence than =.

ok deraadt@ markus@

Upstream-ID: 5fc35c9fc0319cc6fca243632662d2f06b5fd840
diff --git a/sshkey.c b/sshkey.c
index 32dd8f2..1f714c3 100644
--- a/sshkey.c
+++ b/sshkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshkey.c,v 1.21 2015/08/19 23:19:01 djm Exp $ */
+/* $OpenBSD: sshkey.c,v 1.22 2015/09/02 07:51:12 jsg Exp $ */
 /*
  * Copyright (c) 2000, 2001 Markus Friedl.  All rights reserved.
  * Copyright (c) 2008 Alexander von Gernler.  All rights reserved.
@@ -1717,7 +1717,7 @@
 
 	if ((ret = sshbuf_putb(to->certblob, from->certblob)) != 0 ||
 	    (ret = sshbuf_putb(to->critical, from->critical)) != 0 ||
-	    (ret = sshbuf_putb(to->extensions, from->extensions) != 0))
+	    (ret = sshbuf_putb(to->extensions, from->extensions)) != 0)
 		return ret;
 
 	to->serial = from->serial;
@@ -2701,7 +2701,7 @@
 			goto out;
 		}
 		if ((r = sshkey_ec_validate_public(EC_KEY_get0_group(k->ecdsa),
-		    EC_KEY_get0_public_key(k->ecdsa)) != 0) ||
+		    EC_KEY_get0_public_key(k->ecdsa))) != 0 ||
 		    (r = sshkey_ec_validate_private(k->ecdsa)) != 0)
 			goto out;
 		break;
@@ -2719,7 +2719,7 @@
 			goto out;
 		}
 		if ((r = sshkey_ec_validate_public(EC_KEY_get0_group(k->ecdsa),
-		    EC_KEY_get0_public_key(k->ecdsa)) != 0) ||
+		    EC_KEY_get0_public_key(k->ecdsa))) != 0 ||
 		    (r = sshkey_ec_validate_private(k->ecdsa)) != 0)
 			goto out;
 		break;
@@ -2741,10 +2741,10 @@
 	case KEY_RSA_CERT:
 		if ((r = sshkey_froms(buf, &k)) != 0 ||
 		    (r = sshkey_add_private(k)) != 0 ||
-		    (r = sshbuf_get_bignum2(buf, k->rsa->d) != 0) ||
-		    (r = sshbuf_get_bignum2(buf, k->rsa->iqmp) != 0) ||
-		    (r = sshbuf_get_bignum2(buf, k->rsa->p) != 0) ||
-		    (r = sshbuf_get_bignum2(buf, k->rsa->q) != 0) ||
+		    (r = sshbuf_get_bignum2(buf, k->rsa->d)) != 0 ||
+		    (r = sshbuf_get_bignum2(buf, k->rsa->iqmp)) != 0 ||
+		    (r = sshbuf_get_bignum2(buf, k->rsa->p)) != 0 ||
+		    (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||
 		    (r = rsa_generate_additional_parameters(k->rsa)) != 0)
 			goto out;
 		break;
@@ -3431,9 +3431,9 @@
 
 	/* Store public key.  This will be in plain text. */
 	if ((r = sshbuf_put_u32(encrypted, BN_num_bits(key->rsa->n))) != 0 ||
-	    (r = sshbuf_put_bignum1(encrypted, key->rsa->n) != 0) ||
-	    (r = sshbuf_put_bignum1(encrypted, key->rsa->e) != 0) ||
-	    (r = sshbuf_put_cstring(encrypted, comment) != 0))
+	    (r = sshbuf_put_bignum1(encrypted, key->rsa->n)) != 0 ||
+	    (r = sshbuf_put_bignum1(encrypted, key->rsa->e)) != 0 ||
+	    (r = sshbuf_put_cstring(encrypted, comment)) != 0)
 		goto out;
 
 	/* Allocate space for the private part of the key in the buffer. */