Buffer size handling fix for enc.

PR:1374
This commit is contained in:
Dr. Stephen Henson 2006-09-22 17:14:22 +00:00
parent 5b73c3609b
commit 347ed3b93c

View file

@ -340,7 +340,7 @@ bad:
} }
/* It must be large enough for a base64 encoded line */ /* It must be large enough for a base64 encoded line */
if (n < 80) n=80; if (base64 && n < 80) n=80;
bsize=(int)n; bsize=(int)n;
if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize); if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize);
@ -370,7 +370,11 @@ bad:
} }
if (inf == NULL) if (inf == NULL)
{
if (bufsize != NULL)
setvbuf(stdin, (char *)NULL, _IONBF, 0);
BIO_set_fp(in,stdin,BIO_NOCLOSE); BIO_set_fp(in,stdin,BIO_NOCLOSE);
}
else else
{ {
if (BIO_read_filename(in,inf) <= 0) if (BIO_read_filename(in,inf) <= 0)
@ -421,6 +425,8 @@ bad:
if (outf == NULL) if (outf == NULL)
{ {
BIO_set_fp(out,stdout,BIO_NOCLOSE); BIO_set_fp(out,stdout,BIO_NOCLOSE);
if (bufsize != NULL)
setvbuf(stdout, (char *)NULL, _IONBF, 0);
#ifdef OPENSSL_SYS_VMS #ifdef OPENSSL_SYS_VMS
{ {
BIO *tmpbio = BIO_new(BIO_f_linebuffer()); BIO *tmpbio = BIO_new(BIO_f_linebuffer());