diff options
Diffstat (limited to 'authfile.c')
-rw-r--r-- | authfile.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/authfile.c b/authfile.c index 76a60d020..1c006c43d 100644 --- a/authfile.c +++ b/authfile.c | |||
@@ -36,7 +36,7 @@ | |||
36 | */ | 36 | */ |
37 | 37 | ||
38 | #include "includes.h" | 38 | #include "includes.h" |
39 | RCSID("$OpenBSD: authfile.c,v 1.57 2004/06/21 17:36:31 avsm Exp $"); | 39 | RCSID("$OpenBSD: authfile.c,v 1.58 2004/08/23 11:48:09 djm Exp $"); |
40 | 40 | ||
41 | #include <openssl/err.h> | 41 | #include <openssl/err.h> |
42 | #include <openssl/evp.h> | 42 | #include <openssl/evp.h> |
@@ -243,8 +243,10 @@ key_load_public_rsa1(int fd, const char *filename, char **commentp) | |||
243 | filename, strerror(errno)); | 243 | filename, strerror(errno)); |
244 | return NULL; | 244 | return NULL; |
245 | } | 245 | } |
246 | if (st.st_size > 1*1024*1024) | 246 | if (st.st_size > 1*1024*1024) { |
247 | close(fd); | 247 | error("key file %.200s too large", filename); |
248 | return NULL; | ||
249 | } | ||
248 | len = (size_t)st.st_size; /* truncated */ | 250 | len = (size_t)st.st_size; /* truncated */ |
249 | 251 | ||
250 | buffer_init(&buffer); | 252 | buffer_init(&buffer); |
@@ -335,6 +337,7 @@ key_load_private_rsa1(int fd, const char *filename, const char *passphrase, | |||
335 | return NULL; | 337 | return NULL; |
336 | } | 338 | } |
337 | if (st.st_size > 1*1024*1024) { | 339 | if (st.st_size > 1*1024*1024) { |
340 | error("key file %.200s too large", filename); | ||
338 | close(fd); | 341 | close(fd); |
339 | return (NULL); | 342 | return (NULL); |
340 | } | 343 | } |