1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Fixes from valgrind

This commit is contained in:
Brian Fiete 2022-03-18 18:06:14 -07:00
parent 0feaaded22
commit 676e7988fb
31 changed files with 243 additions and 147 deletions

View file

@ -146,11 +146,13 @@ public:
Array<T*> mVals;
T* mNext;
bool mOwnsAll;
bool mZeroAlloc;
public:
BfAllocPool(bool ownsAll = false)
BfAllocPool(bool ownsAll = false, bool zeroAlloc = false)
{
mOwnsAll = ownsAll;
mZeroAlloc = zeroAlloc;
mNext = NULL;
}
@ -160,8 +162,13 @@ public:
delete mNext;
for (auto val : mVals)
{
val->~T();
free(val);
if (mZeroAlloc)
{
val->~T();
free(val);
}
else
delete val;
}
}
@ -176,10 +183,15 @@ public:
mVals.pop_back();
return val;
}
//val = new T();
void* addr = malloc(sizeof(T));
memset(addr, 0, sizeof(T));
val = new(addr) T();
if (mZeroAlloc)
{
void* addr = malloc(sizeof(T));
memset(addr, 0, sizeof(T));
val = new(addr) T();
}
else
val = new T();
if (mOwnsAll)
mVals.push_back(val);
return val;