From 0636bb359706d39278eb31159aa612558784a22d Mon Sep 17 00:00:00 2001 From: Brian Demsky Date: Thu, 28 May 2020 12:54:52 -0700 Subject: [PATCH] fix memory leak --- datarace.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/datarace.cc b/datarace.cc index 28ebcf6d..cfbe94bf 100644 --- a/datarace.cc +++ b/datarace.cc @@ -143,6 +143,8 @@ static void expandRecord(uint64_t *shadow) ASSERT(readThread >= 0); record->thread[0] = readThread; record->readClock[0] = readClock; + } else { + record->thread = NULL; } if (shadowval & ATOMICMASK) record->isAtomic = 1; @@ -541,7 +543,7 @@ struct DataRace * fullRaceCheckRead(thread_id_t thread, const void *location, ui } if (__builtin_popcount(copytoindex) <= 1) { - if (copytoindex == 0) { + if (copytoindex == 0 && record->thread == NULL) { int newCapacity = INITCAPACITY; record->thread = (thread_id_t *)snapshot_malloc(sizeof(thread_id_t) * newCapacity); record->readClock = (modelclock_t *)snapshot_malloc(sizeof(modelclock_t) * newCapacity); -- 2.34.1