From 347ed3b93c560af5ab6582425c250f486bf685bf Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 22 Sep 2006 17:14:22 +0000 Subject: Buffer size handling fix for enc. PR:1374 --- apps/enc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'apps/enc.c') diff --git a/apps/enc.c b/apps/enc.c index ea948f8d10..3e3e8eb4b8 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -340,7 +340,7 @@ bad: } /* It must be large enough for a base64 encoded line */ - if (n < 80) n=80; + if (base64 && n < 80) n=80; bsize=(int)n; if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize); @@ -370,7 +370,11 @@ bad: } if (inf == NULL) + { + if (bufsize != NULL) + setvbuf(stdin, (char *)NULL, _IONBF, 0); BIO_set_fp(in,stdin,BIO_NOCLOSE); + } else { if (BIO_read_filename(in,inf) <= 0) @@ -421,6 +425,8 @@ bad: if (outf == NULL) { BIO_set_fp(out,stdout,BIO_NOCLOSE); + if (bufsize != NULL) + setvbuf(stdout, (char *)NULL, _IONBF, 0); #ifdef OPENSSL_SYS_VMS { BIO *tmpbio = BIO_new(BIO_f_linebuffer()); -- cgit v1.2.3