Mercurial > hg > release > heapstats-1.1
changeset 62:9fb6779d97d1
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:50:31 +0900 |
parents | 9722a1848310 |
children | 2836f23c1fbb |
files | agent/ChangeLog agent/src/classContainer.cpp |
diffstat | 2 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/ChangeLog Mon Jan 23 18:50:37 2017 +0900 +++ b/agent/ChangeLog Mon Jan 23 21:50:31 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/classContainer.cpp Mon Jan 23 18:50:37 2017 +0900 +++ b/agent/src/classContainer.cpp Mon Jan 23 21:50:31 2017 +0900 @@ -404,12 +404,9 @@ cur != classMap->end(); ++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); } }