Skip to content

Commit 32c686f

Browse files
committed
Verify trackers's parameters in trackingInitialize()
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
1 parent e331e55 commit 32c686f

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/provider/provider_tracking.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ static umf_result_t trackingAlloc(void *hProvider, size_t size,
147147
(umf_tracking_memory_provider_t *)hProvider;
148148
umf_result_t ret = UMF_RESULT_SUCCESS;
149149

150-
if (!p->hUpstream) {
151-
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
152-
}
150+
assert(p->hUpstream);
153151

154152
ret = umfMemoryProviderAlloc(p->hUpstream, size, alignment, ptr);
155153
if (ret != UMF_RESULT_SUCCESS || !*ptr) {
@@ -372,6 +370,11 @@ static umf_result_t trackingInitialize(void *params, void **ret) {
372370
}
373371

374372
*provider = *((umf_tracking_memory_provider_t *)params);
373+
if (provider->hUpstream == NULL || provider->hTracker == NULL ||
374+
provider->pool == NULL || provider->ipcCache == NULL) {
375+
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
376+
}
377+
375378
*ret = provider;
376379
return UMF_RESULT_SUCCESS;
377380
}
@@ -586,13 +589,15 @@ static umf_result_t trackingOpenIpcHandle(void *provider, void *providerIpcData,
586589
(umf_tracking_memory_provider_t *)provider;
587590
umf_result_t ret = UMF_RESULT_SUCCESS;
588591

592+
assert(p->hUpstream);
593+
589594
ret = umfMemoryProviderOpenIPCHandle(p->hUpstream, providerIpcData, ptr);
590595
if (ret != UMF_RESULT_SUCCESS) {
591596
return ret;
592597
}
593598
size_t bufferSize = getDataSizeFromIpcHandle(providerIpcData);
594599
ret = umfMemoryTrackerAdd(p->hTracker, p->pool, *ptr, bufferSize);
595-
if (ret != UMF_RESULT_SUCCESS && p->hUpstream) {
600+
if (ret != UMF_RESULT_SUCCESS) {
596601
if (umfMemoryProviderCloseIPCHandle(p->hUpstream, *ptr)) {
597602
// TODO: LOG
598603
}

0 commit comments

Comments
 (0)