Fix prof_alloc_rollback().

Fix prof_alloc_rollback() to read tdata from thread-specific data rather
than dereferencing a potentially invalid tctx.
This commit is contained in:
Jason Evans 2015-09-17 14:47:39 -07:00
parent 3263be6efb
commit 3ca0cf6a68
2 changed files with 3 additions and 1 deletions

View File

@ -12,6 +12,8 @@ brevity. Much more detail can be found in the git revision history:
so this fix removes buggy code without loss of generality. so this fix removes buggy code without loss of generality.
- Fix irallocx_prof_sample() to always allocate large regions, even when - Fix irallocx_prof_sample() to always allocate large regions, even when
alignment is non-zero. alignment is non-zero.
- Fix prof_alloc_rollback() to read tdata from thread-specific data rather
than dereferencing a potentially invalid tctx.
* 4.0.1 (September 15, 2015) * 4.0.1 (September 15, 2015)

View File

@ -209,7 +209,7 @@ prof_alloc_rollback(tsd_t *tsd, prof_tctx_t *tctx, bool updated)
*/ */
tdata = prof_tdata_get(tsd, true); tdata = prof_tdata_get(tsd, true);
if (tdata != NULL) if (tdata != NULL)
prof_sample_threshold_update(tctx->tdata); prof_sample_threshold_update(tdata);
} }
if ((uintptr_t)tctx > (uintptr_t)1U) { if ((uintptr_t)tctx > (uintptr_t)1U) {