diff options
author | Russell Belfer <rb@github.com> | 2012-08-12 07:59:30 -0700 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2012-08-12 07:59:30 -0700 |
commit | a1ecddf01c5546b3f29cd546f4a469263cc6785e (patch) | |
tree | 256c14d824feba4e83a52cfdf2a5b1defe1c2b2b /src/config_file.c | |
parent | c9d78bde943213f4c2594d1df175336573678b74 (diff) | |
download | libgit2-a1ecddf01c5546b3f29cd546f4a469263cc6785e.tar.gz |
Fix config parser boundary logic
The config file parser was not working right if there was no
whitespace between the value name and the equals sign. This
fixes that.
Diffstat (limited to 'src/config_file.c')
-rw-r--r-- | src/config_file.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/config_file.c b/src/config_file.c index 80c63d2a3..433423582 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -1343,10 +1343,9 @@ static int parse_variable(diskfile_backend *cfg, char **var_name, char **var_val else value_start = var_end + 1; - if (git__isspace(var_end[-1])) { - do var_end--; - while (git__isspace(var_end[0])); - } + var_end--; + while (git__isspace(*var_end)) + var_end--; *var_name = git__strndup(line, var_end - line + 1); GITERR_CHECK_ALLOC(*var_name); |