diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-12 15:43:21 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-12 15:43:21 +0000 |
commit | 63aa10cf7c1a00ad84470a970c7351402ce2859e (patch) | |
tree | 5a9d4f8127cbb8c154651c15f6b39d7219d66c01 /LICENSE | |
parent | c3bba9e954cd63e83e9c2e194b4c4d0441ecb221 (diff) | |
download | chromium_src-63aa10cf7c1a00ad84470a970c7351402ce2859e.zip chromium_src-63aa10cf7c1a00ad84470a970c7351402ce2859e.tar.gz chromium_src-63aa10cf7c1a00ad84470a970c7351402ce2859e.tar.bz2 |
Add redundancy to detect double frees in TCMalloc
I'll land and revert this quickly, to see what
impact it has on performance.
Added a single byte or word (tranparently) to all
allocations, and wrote a unique value into that
location after each allocation. When free() is
called, we validate the flag, and then mark
the block as not being allocated.
Any time a block fails to validate, we crash,
as this means the object either overran its
allocated region (or suffered memory corruption),
or else (more likely) a double free took place.
We have two distinct crash stacks for the
two distinct validation problems (corrupt vs
double free).
TBR=mbelshe
Review URL: http://codereview.chromium.org/6679021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77941 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions