diff options
Diffstat (limited to 'src/lib/libcrypto')
| -rw-r--r-- | src/lib/libcrypto/ecdh/ecdh.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ecdh/ecdh.c b/src/lib/libcrypto/ecdh/ecdh.c index 51b409a5dd..218c584558 100644 --- a/src/lib/libcrypto/ecdh/ecdh.c +++ b/src/lib/libcrypto/ecdh/ecdh.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecdh.c,v 1.14 2026/06/08 12:08:08 tb Exp $ */ | 1 | /* $OpenBSD: ecdh.c,v 1.15 2026/06/09 05:24:47 tb Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. | 3 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. |
| 4 | * | 4 | * |
| @@ -169,11 +169,15 @@ ec_key_ecdh_compute_key(unsigned char **out, size_t *out_len, | |||
| 169 | if ((group = EC_KEY_get0_group(ecdh)) == NULL) | 169 | if ((group = EC_KEY_get0_group(ecdh)) == NULL) |
| 170 | goto err; | 170 | goto err; |
| 171 | 171 | ||
| 172 | if (EC_POINT_is_at_infinity(group, pub_key)) | 172 | if (EC_POINT_is_at_infinity(group, pub_key)) { |
| 173 | ECerror(EC_R_POINT_AT_INFINITY); | ||
| 173 | goto err; | 174 | goto err; |
| 175 | } | ||
| 174 | 176 | ||
| 175 | if (EC_POINT_is_on_curve(group, pub_key, ctx) <= 0) | 177 | if (EC_POINT_is_on_curve(group, pub_key, ctx) <= 0) { |
| 178 | ECerror(EC_R_POINT_IS_NOT_ON_CURVE); | ||
| 176 | goto err; | 179 | goto err; |
| 180 | } | ||
| 177 | 181 | ||
| 178 | if ((point = EC_POINT_new(group)) == NULL) { | 182 | if ((point = EC_POINT_new(group)) == NULL) { |
| 179 | ECerror(ERR_R_MALLOC_FAILURE); | 183 | ECerror(ERR_R_MALLOC_FAILURE); |
