Skip to content

Commit b3ea52c

Browse files
committed
[coverity] Fix 1566349 Resource leak
Ensure that the `ur_loader_config_handle_t` is always cleaned up even in the event of assert failures in `SetUp()` by releasing it in `TearDown()`.
1 parent e002ca8 commit b3ea52c

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

test/layers/validation/fixtures.hpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,24 @@
1212
struct urTest : ::testing::Test {
1313

1414
void SetUp() override {
15-
ur_loader_config_handle_t config;
16-
ASSERT_EQ(urLoaderConfigCreate(&config), UR_RESULT_SUCCESS);
17-
ASSERT_EQ(urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION"),
15+
ASSERT_EQ(urLoaderConfigCreate(&loader_config), UR_RESULT_SUCCESS);
16+
ASSERT_EQ(urLoaderConfigEnableLayer(loader_config,
17+
"UR_LAYER_FULL_VALIDATION"),
1818
UR_RESULT_SUCCESS);
19-
2019
ur_device_init_flags_t device_flags = 0;
21-
ASSERT_EQ(urInit(device_flags, config), UR_RESULT_SUCCESS);
22-
ASSERT_EQ(urLoaderConfigRelease(config), UR_RESULT_SUCCESS);
20+
ASSERT_EQ(urInit(device_flags, loader_config), UR_RESULT_SUCCESS);
21+
ASSERT_EQ(urLoaderConfigRelease(loader_config), UR_RESULT_SUCCESS);
2322
}
2423

2524
void TearDown() override {
25+
if (loader_config) {
26+
ASSERT_EQ(urLoaderConfigRelease(loader_config), UR_RESULT_SUCCESS);
27+
}
2628
ur_tear_down_params_t tear_down_params{};
2729
ASSERT_EQ(urTearDown(&tear_down_params), UR_RESULT_SUCCESS);
2830
}
31+
32+
ur_loader_config_handle_t loader_config = nullptr;
2933
};
3034

3135
struct valPlatformsTest : urTest {

0 commit comments

Comments
 (0)