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 /src/alloc.c | |
parent | 2510268a269cd79e5cfa68ce8f56e540131f3b6d (diff) | |
download | libgit2-cmn/allocator-init-order.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.
Diffstat (limited to 'src/alloc.c')
-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 |