diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-23 01:56:14 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-23 01:56:14 +0000 |
commit | b102bbd622753faeb7440d59174fdedfb70c54da (patch) | |
tree | 12fbc8b3517a7a6079526d0c01849a532f564147 /base/md5.cc | |
parent | bf91227ca2796661a6b17176dc50f4db002a7b49 (diff) | |
download | chromium_src-b102bbd622753faeb7440d59174fdedfb70c54da.zip chromium_src-b102bbd622753faeb7440d59174fdedfb70c54da.tar.gz chromium_src-b102bbd622753faeb7440d59174fdedfb70c54da.tar.bz2 |
Revert 184179
This is trigger a latent issue in views which results in a memory leak
each time a Widget is destroyed.
> Update scoped_ptr<T>::reset() to more closely match std::unique_ptr<T>.
>
> Remove the no-op behavior of a scoped_ptr "self-reset", and update the
> reset() method to detect problematic dependencies on the sequence of
> events. Eventually, reset() will be updated to exactly match the
> implementation of std::unique_ptr<T> by setting data_.ptr to the new
> value before deleting the old value.
>
> However, this will expose latent bugs where a destructor invoked
> transitively by reset() attempts to dereference the same scoped_ptr.
> Relying on the value of get() in this instance will dispatch calls to
> the incorrect object. As a temporary measure to detect this class of
> bugs, set data_.ptr to NULL during deletion so that it results in a
> crash.
>
> BUG=162971,176091
>
> Review URL: https://codereview.chromium.org/12223113
TBR=dcheng@chromium.org
Review URL: https://codereview.chromium.org/12317084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184255 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/md5.cc')
0 files changed, 0 insertions, 0 deletions