Fix irealloc_prof() to prof_alloc_rollback() on OOM.

This commit is contained in:
Jason Evans 2015-09-14 22:45:31 -07:00
parent 46ff049128
commit ef363de701
2 changed files with 4 additions and 1 deletions

View File

@ -28,6 +28,7 @@ brevity. Much more detail can be found in the git revision history:
segfault.
- Fix xallocx() bugs related to the 'extra' parameter when specified as
non-zero.
- Fix irealloc_prof() to prof_alloc_rollback() on OOM.
* 4.0.0 (August 17, 2015)

View File

@ -1712,8 +1712,10 @@ irealloc_prof(tsd_t *tsd, void *oldptr, size_t old_usize, size_t usize)
p = irealloc_prof_sample(tsd, oldptr, old_usize, usize, tctx);
else
p = iralloc(tsd, oldptr, old_usize, usize, 0, false);
if (p == NULL)
if (unlikely(p == NULL)) {
prof_alloc_rollback(tsd, tctx, true);
return (NULL);
}
prof_realloc(tsd, p, usize, tctx, true, old_usize, old_tctx);
return (p);