diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/ec/ecp_oct.c')
-rw-r--r-- | src/lib/libssl/src/crypto/ec/ecp_oct.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/lib/libssl/src/crypto/ec/ecp_oct.c b/src/lib/libssl/src/crypto/ec/ecp_oct.c index abc31e6382..994f0b08b1 100644 --- a/src/lib/libssl/src/crypto/ec/ecp_oct.c +++ b/src/lib/libssl/src/crypto/ec/ecp_oct.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecp_oct.c,v 1.6 2015/02/08 22:25:03 miod Exp $ */ | 1 | /* $OpenBSD: ecp_oct.c,v 1.7 2015/02/09 15:49:22 jsing Exp $ */ |
2 | /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de> | 2 | /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de> |
3 | * for the OpenSSL project. | 3 | * for the OpenSSL project. |
4 | * Includes code written by Bodo Moeller for the OpenSSL project. | 4 | * Includes code written by Bodo Moeller for the OpenSSL project. |
@@ -67,8 +67,8 @@ | |||
67 | #include "ec_lcl.h" | 67 | #include "ec_lcl.h" |
68 | 68 | ||
69 | int | 69 | int |
70 | ec_GFp_simple_set_compressed_coordinates(const EC_GROUP * group, EC_POINT * point, | 70 | ec_GFp_simple_set_compressed_coordinates(const EC_GROUP * group, |
71 | const BIGNUM * x_, int y_bit, BN_CTX * ctx) | 71 | EC_POINT * point, const BIGNUM * x_, int y_bit, BN_CTX * ctx) |
72 | { | 72 | { |
73 | BN_CTX *new_ctx = NULL; | 73 | BN_CTX *new_ctx = NULL; |
74 | BIGNUM *tmp1, *tmp2, *x, *y; | 74 | BIGNUM *tmp1, *tmp2, *x, *y; |
@@ -85,11 +85,13 @@ ec_GFp_simple_set_compressed_coordinates(const EC_GROUP * group, EC_POINT * poin | |||
85 | y_bit = (y_bit != 0); | 85 | y_bit = (y_bit != 0); |
86 | 86 | ||
87 | BN_CTX_start(ctx); | 87 | BN_CTX_start(ctx); |
88 | tmp1 = BN_CTX_get(ctx); | 88 | if ((tmp1 = BN_CTX_get(ctx)) == NULL) |
89 | tmp2 = BN_CTX_get(ctx); | 89 | goto err; |
90 | x = BN_CTX_get(ctx); | 90 | if ((tmp2 = BN_CTX_get(ctx)) == NULL) |
91 | y = BN_CTX_get(ctx); | 91 | goto err; |
92 | if (y == NULL) | 92 | if ((x = BN_CTX_get(ctx)) == NULL) |
93 | goto err; | ||
94 | if ((y = BN_CTX_get(ctx)) == NULL) | ||
93 | goto err; | 95 | goto err; |
94 | 96 | ||
95 | /* | 97 | /* |
@@ -239,9 +241,9 @@ ec_GFp_simple_point2oct(const EC_GROUP * group, const EC_POINT * point, point_co | |||
239 | } | 241 | } |
240 | BN_CTX_start(ctx); | 242 | BN_CTX_start(ctx); |
241 | used_ctx = 1; | 243 | used_ctx = 1; |
242 | x = BN_CTX_get(ctx); | 244 | if ((x = BN_CTX_get(ctx)) == NULL) |
243 | y = BN_CTX_get(ctx); | 245 | goto err; |
244 | if (y == NULL) | 246 | if ((y = BN_CTX_get(ctx)) == NULL) |
245 | goto err; | 247 | goto err; |
246 | 248 | ||
247 | if (!EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx)) | 249 | if (!EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx)) |
@@ -348,9 +350,9 @@ ec_GFp_simple_oct2point(const EC_GROUP * group, EC_POINT * point, | |||
348 | return 0; | 350 | return 0; |
349 | } | 351 | } |
350 | BN_CTX_start(ctx); | 352 | BN_CTX_start(ctx); |
351 | x = BN_CTX_get(ctx); | 353 | if ((x = BN_CTX_get(ctx)) == NULL) |
352 | y = BN_CTX_get(ctx); | 354 | goto err; |
353 | if (y == NULL) | 355 | if ((y = BN_CTX_get(ctx)) == NULL) |
354 | goto err; | 356 | goto err; |
355 | 357 | ||
356 | if (!BN_bin2bn(buf + 1, field_len, x)) | 358 | if (!BN_bin2bn(buf + 1, field_len, x)) |