Fix a small bug in str_copy: if more than one variable is replaced, make

sure the current length is used to calculate the new buffer length instead
of using the old length (prior to any variable substitution).

Submitted by: Nils Larsch
This commit is contained in:
Geoff Thorpe 2003-11-21 21:42:35 +00:00
parent a8287a90ea
commit ec2179cf81

View File

@ -629,7 +629,7 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from)
CONFerr(CONF_F_STR_COPY,CONF_R_VARIABLE_HAS_NO_VALUE);
goto err;
}
BUF_MEM_grow_clean(buf,(strlen(p)+len-(e-from)));
BUF_MEM_grow_clean(buf,(strlen(p)+buf->length-(e-from)));
while (*p)
buf->data[to++]= *(p++);
from=e;