diff options
author | Russell Belfer <rb@github.com> | 2013-05-31 14:09:58 -0700 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-05-31 14:09:58 -0700 |
commit | f658dc433cae351e72b1c8b245724eafb43f5844 (patch) | |
tree | 025948ea3b6a30c41b44d86fe4655fbeda3d578c /src/config.c | |
parent | 17ef7dbce4e4eaa08ed7007b6d67f375759846a8 (diff) | |
download | libgit2-f658dc433cae351e72b1c8b245724eafb43f5844.tar.gz |
Zero memory for major objects before freeing
By zeroing out the memory when we free larger objects (i.e. those
that serve as collections of other data, such as repos, odb, refdb),
I'm hoping that it will be easier for libgit2 bindings to find
errors in their object management code.
Diffstat (limited to 'src/config.c')
-rw-r--r-- | src/config.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c index 9491d267a..2c4b15540 100644 --- a/src/config.c +++ b/src/config.c @@ -40,12 +40,14 @@ static void config_free(git_config *cfg) size_t i; file_internal *internal; - for(i = 0; i < cfg->files.length; ++i){ + for (i = 0; i < cfg->files.length; ++i) { internal = git_vector_get(&cfg->files, i); GIT_REFCOUNT_DEC(internal, file_internal_free); } git_vector_free(&cfg->files); + + memset(cfg, 0, sizeof(*cfg)); git__free(cfg); } |