diff options
| author | Vicent Martà <tanoku@gmail.com> | 2011-06-17 10:32:22 -0700 |
|---|---|---|
| committer | Vicent Martà <tanoku@gmail.com> | 2011-06-17 10:32:22 -0700 |
| commit | 2414d000a15f5fc017b29664f78083e356bad9fb (patch) | |
| tree | 6b1de37f35d2097df1ee650d489ce3d83baf4a9c /src | |
| parent | 02285482f18250c33e3d0780cafc6d48346935f3 (diff) | |
| parent | 3d5a02b653cfa07ffda7e136a94130e14935ee6f (diff) | |
| download | libgit2-2414d000a15f5fc017b29664f78083e356bad9fb.tar.gz | |
Merge pull request #266 from carlosmn/valgrind
Plug memory leaks
Diffstat (limited to 'src')
| -rw-r--r-- | src/config_file.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/config_file.c b/src/config_file.c index 916b4d081..519936124 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -986,10 +986,19 @@ static int config_write(diskfile_backend *cfg, cvar_t *var) break; } } else { + int cmp; + pre_end = cfg->reader.read_ptr; error = parse_variable(cfg, &var_name, &var_value); - if (error < GIT_SUCCESS || strcasecmp(var->name, var_name)) + if (error == GIT_SUCCESS) + cmp = strcasecmp(var->name, var_name); + + free(var_name); + free(var_value); + + if (error < GIT_SUCCESS || cmp) break; + post_start = cfg->reader.read_ptr; } @@ -1060,6 +1069,7 @@ static int config_write(diskfile_backend *cfg, cvar_t *var) else error = git_filebuf_commit(&file); + gitfo_free_buf(&cfg->reader.buffer); return error; } |
