Skip to content

Commit 67ade13

Browse files
fix: GTEST assert causing segfault
replace UT_ASSERT in memspace_highest_capacity.cpp add checking for nullptr in src/memory_provider.c
1 parent 173d3cc commit 67ade13

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

src/memory_provider.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,10 @@ umf_result_t umfMemoryProviderCreate(const umf_memory_provider_ops_t *ops,
195195
}
196196

197197
void umfMemoryProviderDestroy(umf_memory_provider_handle_t hProvider) {
198-
hProvider->ops.finalize(hProvider->provider_priv);
199-
umf_ba_global_free(hProvider);
198+
if (hProvider) {
199+
hProvider->ops.finalize(hProvider->provider_priv);
200+
umf_ba_global_free(hProvider);
201+
}
200202
}
201203

202204
static void

test/memspaces/memspace_highest_capacity.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ struct memspaceHighestCapacityProviderTest : ::numaNodesTest {
2121
::numaNodesTest::SetUp();
2222

2323
umf_const_memspace_handle_t hMemspace = umfMemspaceHighestCapacityGet();
24-
UT_ASSERTne(hMemspace, nullptr);
24+
ASSERT_NE(hMemspace, nullptr);
2525

2626
umf_result_t ret =
2727
umfMemoryProviderCreateFromMemspace(hMemspace, nullptr, &hProvider);

test/provider_os_memory_multiple_numa_nodes.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,17 +98,17 @@ struct testNuma : testing::Test {
9898
std::pair<int, bitmask *> retrieve_nodemask(void *addr) {
9999
struct bitmask *retrieved_nodemask = numa_allocate_nodemask();
100100

101-
if (nodemask == nullptr){
101+
if (nodemask == nullptr) {
102102
return std::make_pair(__LINE__, nodemask);
103103
}
104-
104+
105105
int ret = get_mempolicy(nullptr, retrieved_nodemask->maskp,
106106
nodemask->size, addr, MPOL_F_ADDR);
107107

108108
if (ret != 0) {
109109
return std::make_pair(__LINE__, retrieved_nodemask);
110110
}
111-
111+
112112
return std::pair(0, retrieved_nodemask);
113113
}
114114

@@ -263,10 +263,10 @@ struct testNumaOnEachCpu : testNuma, testing::WithParamInterface<int> {
263263
int cpuNumber = this->GetParam();
264264

265265
if (cpuNumber < 0) {
266-
GTEST_FAIL() << "ret is not equal to 0 in " << __FILE__ << ": " << -cpuNumber;
266+
GTEST_FAIL() << "ret is not equal to 0 in " << __FILE__ << ": "
267+
<< -cpuNumber;
267268
}
268269
}
269-
270270
};
271271

272272
INSTANTIATE_TEST_SUITE_P(testNumaNodesAllocationsAllCpus, testNumaOnEachCpu,
@@ -302,7 +302,6 @@ TEST_P(testNumaOnEachCpu, checkModePreferredEmptyNodeset) {
302302
// Verify we're on the expected CPU
303303
int cpu_check = sched_getcpu();
304304
ASSERT_EQ(cpu, cpu_check);
305-
306305

307306
int numa_node_number = numa_node_of_cpu(cpu);
308307
printf("Got CPU: %d, got numa node: %d\n", cpu, numa_node_number);
@@ -419,13 +418,14 @@ TEST_F(testNuma, checkModeInterleave) {
419418
}
420419

421420
// bitmask *retrieved_nodemask = retrieve_nodemask(ptr);
422-
auto[fileLine, retrieved_nodemask] = retrieve_nodemask(ptr);
421+
auto [fileLine, retrieved_nodemask] = retrieve_nodemask(ptr);
423422
if (fileLine != 0) {
424423
if (retrieved_nodemask == nullptr) {
425-
GTEST_FAIL() << "retrieved_nodemask is nullptr " << __FILE__ << ": " << fileLine;
426-
}
427-
else {
428-
GTEST_FAIL() << "ret is not equal to 0 " << __FILE__ << ": " << fileLine;
424+
GTEST_FAIL() << "retrieved_nodemask is nullptr " << __FILE__ << ": "
425+
<< fileLine;
426+
} else {
427+
GTEST_FAIL() << "ret is not equal to 0 " << __FILE__ << ": "
428+
<< fileLine;
429429
}
430430
}
431431
int ret = numa_bitmask_equal(retrieved_nodemask, nodemask);

0 commit comments

Comments
 (0)