From 5e4fce9cbc34c8a6df78baa359aeeda9a92746e3 Mon Sep 17 00:00:00 2001 From: djm Date: Fri, 26 Oct 2007 04:25:55 +0000 Subject: [PATCH] - ray@cvs.openbsd.org 2007/09/27 00:15:57 [dh.c] Don't return -1 on error in dh_pub_is_valid(), since it evaluates to true. Also fix a typo. Initial diff from Matthew Dempsky, input from djm. OK djm, markus. --- ChangeLog | 7 +++++++ dh.c | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index aecf05ba..75bc9dc0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,13 @@ [ssh-agent.c] When adding a key that already exists, update the properties (time, confirm, comment) instead of discarding them. ok djm@ markus@ + - ray@cvs.openbsd.org 2007/09/27 00:15:57 + [dh.c] + Don't return -1 on error in dh_pub_is_valid(), since it evaluates + to true. + Also fix a typo. + Initial diff from Matthew Dempsky, input from djm. + OK djm, markus. 20070927 - (dtucker) [configure.ac atomicio.c] Fall back to including if diff --git a/dh.c b/dh.c index 78e230b9..66858104 100644 --- a/dh.c +++ b/dh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dh.c,v 1.44 2006/11/07 13:02:07 markus Exp $ */ +/* $OpenBSD: dh.c,v 1.45 2007/09/27 00:15:57 ray Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * @@ -185,7 +185,7 @@ dh_pub_is_valid(DH *dh, BIGNUM *dh_pub) BIGNUM *tmp; if (dh_pub->neg) { - logit("invalid public DH value: negativ"); + logit("invalid public DH value: negative"); return 0; } if (BN_cmp(dh_pub, BN_value_one()) != 1) { /* pub_exp <= 1 */ @@ -193,8 +193,10 @@ dh_pub_is_valid(DH *dh, BIGNUM *dh_pub) return 0; } - if ((tmp = BN_new()) == NULL) - return (-1); + if ((tmp = BN_new()) == NULL) { + error("%s: BN_new failed", __func__); + return 0; + } if (!BN_sub(tmp, dh->p, BN_value_one()) || BN_cmp(dh_pub, tmp) != -1) { /* pub_exp > p-2 */ BN_clear_free(tmp); -- 2.45.2