diff options
author | jsg <> | 2018-07-15 05:38:48 +0000 |
---|---|---|
committer | jsg <> | 2018-07-15 05:38:48 +0000 |
commit | 5a27d0fd33187fa17d3aa1b151b981a5434a200f (patch) | |
tree | 7b8b0c999036035f793976bbe0b018b39f74e217 /src/lib/libcrypto/ec/ec_asn1.c | |
parent | 4ffff01bec4bc66afd2ef22fba624a0d3cffdc04 (diff) | |
download | openbsd-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.c | 18 |
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: | 796 | err: |
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: | 899 | err: |
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: | 991 | err: 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: | 1247 | err: 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: | 1315 | err: |
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: | 1428 | err: |
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: | 1513 | err: |
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); |