Handle last lines that aren't properly terminated.
PR: 308
This commit is contained in:
parent
ff749aea44
commit
8df1de4e89
4
CHANGES
4
CHANGES
@ -4,6 +4,10 @@
|
|||||||
|
|
||||||
Changes between 0.9.6g and 0.9.6h [xx XXX xxxx]
|
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
|
*) 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
|
DN values that are of type PrintableString, as well as RDNs of type
|
||||||
emailAddress where the value has the type ia5String.
|
emailAddress where the value has the type ia5String.
|
||||||
|
@ -224,9 +224,9 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
section_sk=(STACK_OF(CONF_VALUE) *)sv->value;
|
section_sk=(STACK_OF(CONF_VALUE) *)sv->value;
|
||||||
|
|
||||||
bufnum=0;
|
bufnum=0;
|
||||||
|
again=0;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
again=0;
|
|
||||||
if (!BUF_MEM_grow(buff,bufnum+BUFSIZE))
|
if (!BUF_MEM_grow(buff,bufnum+BUFSIZE))
|
||||||
{
|
{
|
||||||
CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
|
CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
|
||||||
@ -237,7 +237,8 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
BIO_gets(in, p, BUFSIZE-1);
|
BIO_gets(in, p, BUFSIZE-1);
|
||||||
p[BUFSIZE-1]='\0';
|
p[BUFSIZE-1]='\0';
|
||||||
ii=i=strlen(p);
|
ii=i=strlen(p);
|
||||||
if (i == 0) break;
|
if (i == 0 && !again) break;
|
||||||
|
again=0;
|
||||||
while (i > 0)
|
while (i > 0)
|
||||||
{
|
{
|
||||||
if ((p[i-1] != '\r') && (p[i-1] != '\n'))
|
if ((p[i-1] != '\r') && (p[i-1] != '\n'))
|
||||||
@ -247,7 +248,7 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
}
|
}
|
||||||
/* we removed some trailing stuff so there is a new
|
/* we removed some trailing stuff so there is a new
|
||||||
* line on the end. */
|
* line on the end. */
|
||||||
if (i == ii)
|
if (ii && i == ii)
|
||||||
again=1; /* long line */
|
again=1; /* long line */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user