X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fconf%2Fconf_def.c;h=ba2a8830b44804037b36d53c91932a82826bb68b;hp=0451be01538d1d2f26a9161bd6ebec3e2736e7fd;hb=430d7afd80a44acdca11831084de0480d9dd270b;hpb=ca982e48707905f82fa74a6de2eaef46115f949a diff --git a/crypto/conf/conf_def.c b/crypto/conf/conf_def.c index 0451be0153..ba2a8830b4 100644 --- a/crypto/conf/conf_def.c +++ b/crypto/conf/conf_def.c @@ -632,6 +632,11 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from) BUF_MEM_grow_clean(buf,(strlen(p)+buf->length-(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