Fix heap profiling crash for realloc(p, 0) case.
Fix prof_realloc() to not call prof_ctx_set() if a sampled object is being freed via realloc(p, 0).
This commit is contained in:
parent
cbb71caceb
commit
3860eac170
@ -6,6 +6,11 @@ found in the git revision history:
|
|||||||
http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
|
http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
|
||||||
git://canonware.com/jemalloc.git
|
git://canonware.com/jemalloc.git
|
||||||
|
|
||||||
|
* 3.x.x (XXX not yet released)
|
||||||
|
|
||||||
|
Bug fixes:
|
||||||
|
- Fix heap profiling crash if sampled object is freed via realloc(p, 0).
|
||||||
|
|
||||||
* 3.0.0 (May 11, 2012)
|
* 3.0.0 (May 11, 2012)
|
||||||
|
|
||||||
Although this version adds some major new features, the primary focus is on
|
Although this version adds some major new features, the primary focus is on
|
||||||
|
@ -506,7 +506,7 @@ prof_realloc(const void *ptr, size_t size, prof_thr_cnt_t *cnt,
|
|||||||
if ((uintptr_t)cnt > (uintptr_t)1U) {
|
if ((uintptr_t)cnt > (uintptr_t)1U) {
|
||||||
prof_ctx_set(ptr, cnt->ctx);
|
prof_ctx_set(ptr, cnt->ctx);
|
||||||
cnt->epoch++;
|
cnt->epoch++;
|
||||||
} else
|
} else if (ptr != NULL)
|
||||||
prof_ctx_set(ptr, (prof_ctx_t *)(uintptr_t)1U);
|
prof_ctx_set(ptr, (prof_ctx_t *)(uintptr_t)1U);
|
||||||
/*********/
|
/*********/
|
||||||
mb_write();
|
mb_write();
|
||||||
|
Loading…
Reference in New Issue
Block a user