Mercurial > hg > heapstats
changeset 213:c0615b5719f6
Bug 3295: Incorrect condition for removing TObjectData instance
Reviewed-by: ykubota
https://github.com/HeapStats/heapstats/pull/79
author | Yasumasa Suenaga <yasuenag@gmail.com> |
---|---|
date | Mon, 23 Jan 2017 21:48:48 +0900 |
parents | 67f3ad492a87 |
children | 7336cbb31615 |
files | ChangeLog agent/src/heapstats-engines/classContainer.cpp |
diffstat | 2 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Jan 23 18:49:27 2017 +0900 +++ b/ChangeLog Mon Jan 23 21:48:48 2017 +0900 @@ -1,6 +1,7 @@ 2017-01-23 Yasumasa Suenaga <yasuenag@gmail.com> * Bug 3294: Reference counter should be handled in TClassContainer::allClear() + * Bug 3295: Incorrect condition for removing TObjectData instance 2017-01-17 Yasumasa Suenaga <yasuenag@gmail.com>
--- a/agent/src/heapstats-engines/classContainer.cpp Mon Jan 23 18:49:27 2017 +0900 +++ b/agent/src/heapstats-engines/classContainer.cpp Mon Jan 23 21:48:48 2017 +0900 @@ -373,12 +373,9 @@ ++cur) { TObjectData *pos = (*cur).second; - if (pos != NULL) { - atomic_inc(&pos->numRefsFromChildren, -1); - if (atomic_get(&pos->numRefsFromChildren) == 0) { - free(pos->className); - free(pos); - } + if ((pos != NULL) && (atomic_get(&pos->numRefsFromChildren) == 0)) { + free(pos->className); + free(pos); } }