diff options
author | Richard Levitte <levitte@openssl.org> | 2005-09-28 18:02:41 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2005-09-28 18:02:41 +0000 |
commit | 23acb0eeb2ec89cb3d673dd0fb04838d83b13a1a (patch) | |
tree | 50c0eaf6cb842d25dc745e6f3773f474441205a7 | |
parent | bfa4b8c5abe3660ab3f5c4d28af4b350abc8c2cb (diff) |
Change a comment so it corresponds to reality. Put back a character that
was previously replaced with a NUL for parsing purposes. This seems to
fix a very weird parsing bug involving two variable references in the same
value.
-rw-r--r-- | crypto/conf/conf_def.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/crypto/conf/conf_def.c b/crypto/conf/conf_def.c index 996a0999ac..8083a009d7 100644 --- a/crypto/conf/conf_def.c +++ b/crypto/conf/conf_def.c @@ -613,13 +613,13 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from) e++; } /* So at this point we have - * ns which is the start of the name string which is + * np which is the start of the name string which is * '\0' terminated. - * cs which is the start of the section string which is + * cp which is the start of the section string which is * '\0' terminated. * e is the 'next point after'. - * r and s are the chars replaced by the '\0' - * rp and sp is where 'r' and 's' came from. + * r and rr are the chars replaced by the '\0' + * rp and rrp is where 'r' and 'rr' came from. */ p=_CONF_get_string(conf,cp,np); if (rrp != NULL) *rrp=rr; @@ -638,6 +638,11 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from) points at. /RL */ len -= e-from; from=e; + + /* In case there were no braces or parenthesis around + the variable reference, we have to put back the + character that was replaced with a '\0'. /RL */ + *rp = r; } else buf->data[to++]= *(from++); |