summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2007-06-05 18:29:35 +1000
committerDarren Tucker <dtucker@zip.com.au>2007-06-05 18:29:35 +1000
commit7b21cb5bdc6d0e587f646397b6c6f6ef87505e0b (patch)
tree9f842f4b81f16e278cb36efed29fdaf87792b121
parenta394f9913c9e03579bfabda6487124878e194b2a (diff)
- djm@cvs.openbsd.org 2007/06/02 09:04:58
[bufbn.c] memory leak on error path; from arnaud.lacombe.1 AT ulaval.ca
-rw-r--r--ChangeLog5
-rw-r--r--bufbn.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 484d93a84..f0668460a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,9 @@
15 - djm@cvs.openbsd.org 2007/05/31 23:34:29 15 - djm@cvs.openbsd.org 2007/05/31 23:34:29
16 [packet.c] 16 [packet.c]
17 gc unreachable code; spotted by Tavis Ormandy 17 gc unreachable code; spotted by Tavis Ormandy
18 - djm@cvs.openbsd.org 2007/06/02 09:04:58
19 [bufbn.c]
20 memory leak on error path; from arnaud.lacombe.1 AT ulaval.ca
18 21
1920070520 2220070520
20 - (dtucker) OpenBSD CVS Sync 23 - (dtucker) OpenBSD CVS Sync
@@ -2958,4 +2961,4 @@
2958 OpenServer 6 and add osr5bigcrypt support so when someone migrates 2961 OpenServer 6 and add osr5bigcrypt support so when someone migrates
2959 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 2962 passwords between UnixWare and OpenServer they will still work. OK dtucker@
2960 2963
2961$Id: ChangeLog,v 1.4674 2007/06/05 08:28:20 dtucker Exp $ 2964$Id: ChangeLog,v 1.4675 2007/06/05 08:29:35 dtucker Exp $
diff --git a/bufbn.c b/bufbn.c
index ce8fba515..251cd0951 100644
--- a/bufbn.c
+++ b/bufbn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bufbn.c,v 1.5 2007/02/14 14:32:00 stevesk Exp $*/ 1/* $OpenBSD: bufbn.c,v 1.6 2007/06/02 09:04:58 djm Exp $*/
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -201,12 +201,14 @@ buffer_get_bignum2_ret(Buffer *buffer, BIGNUM *value)
201 return (-1); 201 return (-1);
202 } 202 }
203 if (len > 8 * 1024) { 203 if (len > 8 * 1024) {
204 error("buffer_get_bignum2_ret: cannot handle BN of size %d", len); 204 error("buffer_get_bignum2_ret: cannot handle BN of size %d",
205 len);
205 xfree(bin); 206 xfree(bin);
206 return (-1); 207 return (-1);
207 } 208 }
208 if (BN_bin2bn(bin, len, value) == NULL) { 209 if (BN_bin2bn(bin, len, value) == NULL) {
209 error("buffer_get_bignum2_ret: BN_bin2bn failed"); 210 error("buffer_get_bignum2_ret: BN_bin2bn failed");
211 xfree(bin);
210 return (-1); 212 return (-1);
211 } 213 }
212 xfree(bin); 214 xfree(bin);