diff options
author | Darren Tucker <dtucker@zip.com.au> | 2007-06-05 18:29:35 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2007-06-05 18:29:35 +1000 |
commit | 7b21cb5bdc6d0e587f646397b6c6f6ef87505e0b (patch) | |
tree | 9f842f4b81f16e278cb36efed29fdaf87792b121 /bufbn.c | |
parent | a394f9913c9e03579bfabda6487124878e194b2a (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
Diffstat (limited to 'bufbn.c')
-rw-r--r-- | bufbn.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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); |