Skip to content

Commit 5230505

Browse files
committed
[coverity] Fix 1566353 Resource leak
In the `test-runtime` conformance test suite, 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 7cfd6e8 commit 5230505

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

test/conformance/runtime/fixtures.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,21 @@ struct urTest : ::testing::Test {
1111

1212
void SetUp() override {
1313
ur_device_init_flags_t device_flags = 0;
14-
ur_loader_config_handle_t config;
15-
ASSERT_SUCCESS(urLoaderConfigCreate(&config));
16-
ASSERT_SUCCESS(
17-
urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION"));
18-
ASSERT_SUCCESS(urInit(device_flags, config));
19-
ASSERT_SUCCESS(urLoaderConfigRelease(config));
14+
ASSERT_SUCCESS(urLoaderConfigCreate(&loader_config));
15+
ASSERT_SUCCESS(urLoaderConfigEnableLayer(loader_config,
16+
"UR_LAYER_FULL_VALIDATION"));
17+
ASSERT_SUCCESS(urInit(device_flags, loader_config));
2018
}
2119

2220
void TearDown() override {
21+
if (loader_config) {
22+
ASSERT_SUCCESS(urLoaderConfigRelease(loader_config));
23+
}
2324
ur_tear_down_params_t tear_down_params{};
2425
ASSERT_SUCCESS(urTearDown(&tear_down_params));
2526
}
27+
28+
ur_loader_config_handle_t loader_config = nullptr;
2629
};
2730

2831
struct urAdapterTest : urTest {

0 commit comments

Comments
 (0)