When the pointer 'from' changes, it's stored length needs to change as
well. Notified by Frank Kardel <kardel@acm.org> in PR 879.
This commit is contained in:
parent
535aef9def
commit
3b8ba6b610
1 changed files with 5 additions and 0 deletions
|
@ -632,6 +632,11 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from)
|
|||
BUF_MEM_grow_clean(buf,(strlen(p)+len-(e-from)));
|
||||
while (*p)
|
||||
buf->data[to++]= *(p++);
|
||||
|
||||
/* Since we change the pointer 'from', we also have
|
||||
to change the perceived length of the string it
|
||||
points at. /RL */
|
||||
len -= e-from;
|
||||
from=e;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue