Commit 83411793 authored by Richard Levitte's avatar Richard Levitte
Browse files

Handle last lines that aren't properly terminated.

PR: 308
parent 65caee44
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2082,6 +2082,10 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k

 Changes between 0.9.6g and 0.9.6h  [xx XXX xxxx]

  *) Change the default configuration reader to deal with last line not
     being properly terminated.
     [Richard Levitte]

  *) Change X509_NAME_cmp() so it applies the special rules on handling
     DN values that are of type PrintableString, as well as RDNs of type
     emailAddress where the value has the type ia5String.
+4 −3
Original line number Diff line number Diff line
@@ -253,9 +253,9 @@ static int def_load_bio(CONF *conf, BIO *in, long *line)
	section_sk=(STACK_OF(CONF_VALUE) *)sv->value;

	bufnum=0;
	again=0;
	for (;;)
		{
		again=0;
		if (!BUF_MEM_grow(buff,bufnum+CONFBUFSIZE))
			{
			CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
@@ -266,7 +266,8 @@ static int def_load_bio(CONF *conf, BIO *in, long *line)
		BIO_gets(in, p, CONFBUFSIZE-1);
		p[CONFBUFSIZE-1]='\0';
		ii=i=strlen(p);
		if (i == 0) break;
		if (i == 0 && !again) break;
		again=0;
		while (i > 0)
			{
			if ((p[i-1] != '\r') && (p[i-1] != '\n'))
@@ -276,7 +277,7 @@ static int def_load_bio(CONF *conf, BIO *in, long *line)
			}
		/* we removed some trailing stuff so there is a new
		 * line on the end. */
		if (i == ii)
		if (ii && i == ii)
			again=1; /* long line */
		else
			{