Skip to content

Commit c0bdf01

Browse files
committed
Fix poolFixtures - malloc(0) can be NULL
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent a0c46ee commit c0bdf01

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

test/poolFixtures.hpp

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,9 @@ TEST_P(umfPoolTest, multiThreadedMallocFree) {
179179
std::vector<void *> allocations;
180180
for (size_t i = 0; i <= 10; ++i) {
181181
allocations.emplace_back(umfPoolMalloc(pool, allocSize));
182-
ASSERT_NE(allocations.back(), nullptr);
182+
if (allocSize > 0) {
183+
ASSERT_NE(allocations.back(), nullptr);
184+
}
183185
}
184186

185187
for (auto allocation : allocations) {
@@ -229,7 +231,9 @@ TEST_P(umfPoolTest, multiThreadedReallocFree) {
229231
std::vector<void *> allocations;
230232
for (size_t i = 0; i <= 10; ++i) {
231233
allocations.emplace_back(umfPoolMalloc(pool, allocSize));
232-
ASSERT_NE(allocations.back(), nullptr);
234+
if (allocSize > 0) {
235+
ASSERT_NE(allocations.back(), nullptr);
236+
}
233237
}
234238

235239
for (auto allocation : allocations) {
@@ -259,7 +263,9 @@ TEST_P(umfPoolTest, multiThreadedCallocFree) {
259263
std::vector<void *> allocations;
260264
for (size_t i = 0; i <= 10; ++i) {
261265
allocations.emplace_back(umfPoolCalloc(pool, num, size));
262-
ASSERT_NE(allocations.back(), nullptr);
266+
if (num * size > 0) {
267+
ASSERT_NE(allocations.back(), nullptr);
268+
}
263269
}
264270

265271
for (auto allocation : allocations) {
@@ -282,7 +288,9 @@ TEST_P(umfPoolTest, multiThreadedMallocFreeRandomSizes) {
282288
std::vector<void *> allocations;
283289
for (size_t i = 0; i <= 10; ++i) {
284290
allocations.emplace_back(umfPoolMalloc(pool, allocSize));
285-
ASSERT_NE(allocations.back(), nullptr);
291+
if (allocSize > 0) {
292+
ASSERT_NE(allocations.back(), nullptr);
293+
}
286294
}
287295

288296
for (auto allocation : allocations) {
@@ -313,7 +321,9 @@ TEST_P(umfMemTest, outOfMem) {
313321
UMF_RESULT_ERROR_OUT_OF_HOST_MEMORY) {
314322
break;
315323
}
316-
ASSERT_NE(allocations.back(), nullptr);
324+
if (allocSize > 0) {
325+
ASSERT_NE(allocations.back(), nullptr);
326+
}
317327
}
318328

319329
// next part of the test- freeing some memory to allocate it again (as the memory
@@ -324,15 +334,20 @@ TEST_P(umfMemTest, outOfMem) {
324334
ASSERT_EQ(allocations.back(), nullptr);
325335
allocations.pop_back();
326336

327-
ASSERT_NE(allocations.back(), nullptr);
337+
if (allocSize > 0) {
338+
ASSERT_NE(allocations.back(), nullptr);
339+
}
340+
328341
for (int i = 0; i < expectedRecycledPoolAllocs; i++) {
329342
umfPoolFree(hPool, allocations.back());
330343
allocations.pop_back();
331344
}
332345

333346
for (int i = 0; i < expectedRecycledPoolAllocs; i++) {
334347
allocations.emplace_back(umfPoolMalloc(hPool, allocSize));
335-
ASSERT_NE(allocations.back(), nullptr);
348+
if (allocSize > 0) {
349+
ASSERT_NE(allocations.back(), nullptr);
350+
}
336351
}
337352

338353
for (auto allocation : allocations) {

0 commit comments

Comments
 (0)