diff options
| author | Patrick Steinhardt <ps@pks.im> | 2018-10-25 11:17:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-25 11:17:52 +0200 |
| commit | 1194546138cbbe3d822e4df2a41179a847099e75 (patch) | |
| tree | d36a2ec606c4e1bc83c71f9b656301fc331bf661 /src | |
| parent | 671b2446b7805089cbc9dad9db216d13938b1393 (diff) | |
| parent | 2e34efaab1ec85a5a4ba522147edec9114d065d3 (diff) | |
| download | libgit2-1194546138cbbe3d822e4df2a41179a847099e75.tar.gz | |
Merge pull request #4854 from libgit2/ethomson/buf_oom_test
buf::oom tests: use custom allocator for oom failures
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/alloc.c b/src/alloc.c index d4e6f1ebd..0cac457d4 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -15,6 +15,15 @@ git_allocator git__allocator; +static int setup_default_allocator(void) +{ +#if defined(GIT_MSVC_CRTDBG) + return git_win32_crtdbg_init_allocator(&git__allocator); +#else + return git_stdalloc_init_allocator(&git__allocator); +#endif +} + int git_allocator_global_init(void) { /* @@ -24,15 +33,14 @@ int git_allocator_global_init(void) if (git__allocator.gmalloc != NULL) return 0; -#if defined(GIT_MSVC_CRTDBG) - return git_win32_crtdbg_init_allocator(&git__allocator); -#else - return git_stdalloc_init_allocator(&git__allocator); -#endif + return setup_default_allocator(); } int git_allocator_setup(git_allocator *allocator) { + if (!allocator) + return setup_default_allocator(); + memcpy(&git__allocator, allocator, sizeof(*allocator)); return 0; } |
