summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_asn1.c
diff options
context:
space:
mode:
authorjsg <>2018-07-15 05:38:48 +0000
committerjsg <>2018-07-15 05:38:48 +0000
commit5a27d0fd33187fa17d3aa1b151b981a5434a200f (patch)
tree7b8b0c999036035f793976bbe0b018b39f74e217 /src/lib/libcrypto/ec/ec_asn1.c
parent4ffff01bec4bc66afd2ef22fba624a0d3cffdc04 (diff)
downloadopenbsd-5a27d0fd33187fa17d3aa1b151b981a5434a200f.tar.gz
openbsd-5a27d0fd33187fa17d3aa1b151b981a5434a200f.tar.bz2
openbsd-5a27d0fd33187fa17d3aa1b151b981a5434a200f.zip
back out ecc constant time changes
after the constant time commits various regress tests started failing on sparc64 ssh t9, libcrypto ec ecdh ecdsa and trying to ssh out resulted in 'invalid elliptic curve value' ok tb@
Diffstat (limited to 'src/lib/libcrypto/ec/ec_asn1.c')
-rw-r--r--src/lib/libcrypto/ec/ec_asn1.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c
index 1fb0670efe..f5a1331ba3 100644
--- a/src/lib/libcrypto/ec/ec_asn1.c
+++ b/src/lib/libcrypto/ec/ec_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_asn1.c,v 1.28 2018/07/10 22:06:14 tb Exp $ */ 1/* $OpenBSD: ec_asn1.c,v 1.29 2018/07/15 05:38:48 jsg Exp $ */
2/* 2/*
3 * Written by Nils Larsch for the OpenSSL project. 3 * Written by Nils Larsch for the OpenSSL project.
4 */ 4 */
@@ -793,7 +793,7 @@ ec_asn1_group2fieldid(const EC_GROUP * group, X9_62_FIELDID * field)
793 793
794 ok = 1; 794 ok = 1;
795 795
796 err: 796err:
797 BN_free(tmp); 797 BN_free(tmp);
798 return (ok); 798 return (ok);
799} 799}
@@ -896,7 +896,7 @@ ec_asn1_group2curve(const EC_GROUP * group, X9_62_CURVE * curve)
896 896
897 ok = 1; 897 ok = 1;
898 898
899 err: 899err:
900 free(buffer_1); 900 free(buffer_1);
901 free(buffer_2); 901 free(buffer_2);
902 BN_free(tmp_1); 902 BN_free(tmp_1);
@@ -988,8 +988,7 @@ ec_asn1_group2parameters(const EC_GROUP * group, ECPARAMETERS * param)
988 } 988 }
989 ok = 1; 989 ok = 1;
990 990
991 err: 991err: if (!ok) {
992 if (!ok) {
993 if (ret && !param) 992 if (ret && !param)
994 ECPARAMETERS_free(ret); 993 ECPARAMETERS_free(ret);
995 ret = NULL; 994 ret = NULL;
@@ -1245,8 +1244,7 @@ ec_asn1_parameters2group(const ECPARAMETERS * params)
1245 } 1244 }
1246 ok = 1; 1245 ok = 1;
1247 1246
1248 err: 1247err: if (!ok) {
1249 if (!ok) {
1250 EC_GROUP_clear_free(ret); 1248 EC_GROUP_clear_free(ret);
1251 ret = NULL; 1249 ret = NULL;
1252 } 1250 }
@@ -1314,7 +1312,7 @@ d2i_ECPKParameters(EC_GROUP ** a, const unsigned char **in, long len)
1314 *a = group; 1312 *a = group;
1315 } 1313 }
1316 1314
1317 err: 1315err:
1318 ECPKPARAMETERS_free(params); 1316 ECPKPARAMETERS_free(params);
1319 return (group); 1317 return (group);
1320} 1318}
@@ -1427,7 +1425,7 @@ d2i_ECPrivateKey(EC_KEY ** a, const unsigned char **in, long len)
1427 *a = ret; 1425 *a = ret;
1428 return (ret); 1426 return (ret);
1429 1427
1430 err: 1428err:
1431 if (a == NULL || *a != ret) 1429 if (a == NULL || *a != ret)
1432 EC_KEY_free(ret); 1430 EC_KEY_free(ret);
1433 if (priv_key) 1431 if (priv_key)
@@ -1512,7 +1510,7 @@ i2d_ECPrivateKey(EC_KEY * a, unsigned char **out)
1512 goto err; 1510 goto err;
1513 } 1511 }
1514 ok = 1; 1512 ok = 1;
1515 err: 1513err:
1516 free(buffer); 1514 free(buffer);
1517 if (priv_key) 1515 if (priv_key)
1518 EC_PRIVATEKEY_free(priv_key); 1516 EC_PRIVATEKEY_free(priv_key);