diff options
Diffstat (limited to 'bufbn.c')
-rw-r--r-- | bufbn.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bufbn.c,v 1.6 2007/06/02 09:04:58 djm Exp $*/ | 1 | /* $OpenBSD: bufbn.c,v 1.7 2013/05/17 00:13:13 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 |
@@ -69,7 +69,7 @@ buffer_put_bignum_ret(Buffer *buffer, const BIGNUM *value) | |||
69 | if (oi != bin_size) { | 69 | if (oi != bin_size) { |
70 | error("buffer_put_bignum_ret: BN_bn2bin() failed: oi %d != bin_size %d", | 70 | error("buffer_put_bignum_ret: BN_bn2bin() failed: oi %d != bin_size %d", |
71 | oi, bin_size); | 71 | oi, bin_size); |
72 | xfree(buf); | 72 | free(buf); |
73 | return (-1); | 73 | return (-1); |
74 | } | 74 | } |
75 | 75 | ||
@@ -80,7 +80,7 @@ buffer_put_bignum_ret(Buffer *buffer, const BIGNUM *value) | |||
80 | buffer_append(buffer, buf, oi); | 80 | buffer_append(buffer, buf, oi); |
81 | 81 | ||
82 | memset(buf, 0, bin_size); | 82 | memset(buf, 0, bin_size); |
83 | xfree(buf); | 83 | free(buf); |
84 | 84 | ||
85 | return (0); | 85 | return (0); |
86 | } | 86 | } |
@@ -167,13 +167,13 @@ buffer_put_bignum2_ret(Buffer *buffer, const BIGNUM *value) | |||
167 | if (oi < 0 || (u_int)oi != bytes - 1) { | 167 | if (oi < 0 || (u_int)oi != bytes - 1) { |
168 | error("buffer_put_bignum2_ret: BN_bn2bin() failed: " | 168 | error("buffer_put_bignum2_ret: BN_bn2bin() failed: " |
169 | "oi %d != bin_size %d", oi, bytes); | 169 | "oi %d != bin_size %d", oi, bytes); |
170 | xfree(buf); | 170 | free(buf); |
171 | return (-1); | 171 | return (-1); |
172 | } | 172 | } |
173 | hasnohigh = (buf[1] & 0x80) ? 0 : 1; | 173 | hasnohigh = (buf[1] & 0x80) ? 0 : 1; |
174 | buffer_put_string(buffer, buf+hasnohigh, bytes-hasnohigh); | 174 | buffer_put_string(buffer, buf+hasnohigh, bytes-hasnohigh); |
175 | memset(buf, 0, bytes); | 175 | memset(buf, 0, bytes); |
176 | xfree(buf); | 176 | free(buf); |
177 | return (0); | 177 | return (0); |
178 | } | 178 | } |
179 | 179 | ||
@@ -197,21 +197,21 @@ buffer_get_bignum2_ret(Buffer *buffer, BIGNUM *value) | |||
197 | 197 | ||
198 | if (len > 0 && (bin[0] & 0x80)) { | 198 | if (len > 0 && (bin[0] & 0x80)) { |
199 | error("buffer_get_bignum2_ret: negative numbers not supported"); | 199 | error("buffer_get_bignum2_ret: negative numbers not supported"); |
200 | xfree(bin); | 200 | free(bin); |
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", | 204 | error("buffer_get_bignum2_ret: cannot handle BN of size %d", |
205 | len); | 205 | len); |
206 | xfree(bin); | 206 | free(bin); |
207 | return (-1); | 207 | return (-1); |
208 | } | 208 | } |
209 | if (BN_bin2bn(bin, len, value) == NULL) { | 209 | if (BN_bin2bn(bin, len, value) == NULL) { |
210 | error("buffer_get_bignum2_ret: BN_bin2bn failed"); | 210 | error("buffer_get_bignum2_ret: BN_bin2bn failed"); |
211 | xfree(bin); | 211 | free(bin); |
212 | return (-1); | 212 | return (-1); |
213 | } | 213 | } |
214 | xfree(bin); | 214 | free(bin); |
215 | return (0); | 215 | return (0); |
216 | } | 216 | } |
217 | 217 | ||