diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2018-07-15 17:30:04 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2018-07-15 17:30:04 +0200 |
commit | 19007b19b70504a3964f5d8320d0ef39c01ce6b0 (patch) | |
tree | 0881210ee61eb83c8b143ee1f7d992b7ad10e0eb | |
parent | 2510268a269cd79e5cfa68ce8f56e540131f3b6d (diff) | |
download | libgit2-19007b19b70504a3964f5d8320d0ef39c01ce6b0.tar.gz |
alloc: don't overwrite allocator during init if setcmn/allocator-init-order
If the allocator has been set before we the library is initialised, we would
replace that setting with the standard allocator contrary to the user's wishes.
-rw-r--r-- | src/alloc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c index 35fdd00c4..d4e6f1ebd 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -17,6 +17,13 @@ git_allocator git__allocator; int git_allocator_global_init(void) { + /* + * We don't want to overwrite any allocator which has been set before + * the init function is called. + */ + if (git__allocator.gmalloc != NULL) + return 0; + #if defined(GIT_MSVC_CRTDBG) return git_win32_crtdbg_init_allocator(&git__allocator); #else |