diff options
author | Richard Levitte <levitte@openssl.org> | 2004-05-06 09:33:22 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2004-05-06 09:33:22 +0000 |
commit | 430d7afd80a44acdca11831084de0480d9dd270b (patch) | |
tree | 8451c984f63a2574f8401569b30b64027ac5081d /crypto/conf/conf_def.c | |
parent | ca982e48707905f82fa74a6de2eaef46115f949a (diff) |
When the pointer 'from' changes, it's stored length needs to change as
well.
Notified by Frank Kardel <kardel@acm.org> in PR 879.
Diffstat (limited to 'crypto/conf/conf_def.c')
-rw-r--r-- | crypto/conf/conf_def.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 |