return after error instead of plowing ahead. noticed by mancha1 at zoho
authortedu <tedu@openbsd.org>
Sun, 20 Apr 2014 12:30:41 +0000 (12:30 +0000)
committertedu <tedu@openbsd.org>
Sun, 20 Apr 2014 12:30:41 +0000 (12:30 +0000)
lib/libcrypto/ec/ec_ameth.c
lib/libssl/src/crypto/ec/ec_ameth.c

index 6331903..79dd110 100644 (file)
@@ -352,6 +352,7 @@ static int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
                EC_KEY_set_enc_flags(ec_key, old_flags);
                free(ep);
                ECerr(EC_F_ECKEY_PRIV_ENCODE, ERR_R_EC_LIB);
+               return 0;
        }
        /* restore old encoding flags */
        EC_KEY_set_enc_flags(ec_key, old_flags);
index 6331903..79dd110 100644 (file)
@@ -352,6 +352,7 @@ static int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
                EC_KEY_set_enc_flags(ec_key, old_flags);
                free(ep);
                ECerr(EC_F_ECKEY_PRIV_ENCODE, ERR_R_EC_LIB);
+               return 0;
        }
        /* restore old encoding flags */
        EC_KEY_set_enc_flags(ec_key, old_flags);