]> granicus.if.org Git - openssl/commitdiff
Fix eckey_priv_encode()
authormancha <mancha1@zoho.com>
Thu, 24 Apr 2014 19:06:20 +0000 (19:06 +0000)
committermancha <mancha1@zoho.com>
Thu, 24 Apr 2014 19:32:17 +0000 (19:32 +0000)
Fix eckey_priv_encode to return an error on failure of i2d_ECPrivateKey.

CHANGES
crypto/ec/ec_ameth.c

diff --git a/CHANGES b/CHANGES
index def57902be22d7576e5c0cda462d4606b1207149..5fc78bbcf53fde61b0ef99c21fef93bf57756bb2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@
 
  Changes between 1.0.1g and 1.0.1h [xx XXX xxxx]
 
+  *) Fix eckey_priv_encode so it immediately returns an error upon a failure
+     in i2d_ECPrivateKey.
+     [mancha <mancha1@zoho.com>]
+
   *) Fix some double frees. These are not thought to be exploitable.
      [mancha <mancha1@zoho.com>]
 
index 0ce4524076f138b9986432a901ee7fc4f8124cc5..f715a238a6fc1a68eb80fe4115270d5b06d9ac48 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);
                OPENSSL_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);