summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/ecdh/ecdh.c10
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);