Skip to content

Commit 38d4387

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

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/provider/provider_tracking.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,6 @@ 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-
}
153-
154150
ret = umfMemoryProviderAlloc(p->hUpstream, size, alignment, ptr);
155151
if (ret != UMF_RESULT_SUCCESS || !*ptr) {
156152
return ret;
@@ -372,6 +368,11 @@ static umf_result_t trackingInitialize(void *params, void **ret) {
372368
}
373369

374370
*provider = *((umf_tracking_memory_provider_t *)params);
371+
if (provider->hUpstream == NULL || provider->hTracker == NULL ||
372+
provider->pool == NULL || provider->ipcCache == NULL) {
373+
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
374+
}
375+
375376
*ret = provider;
376377
return UMF_RESULT_SUCCESS;
377378
}
@@ -586,13 +587,15 @@ static umf_result_t trackingOpenIpcHandle(void *provider, void *providerIpcData,
586587
(umf_tracking_memory_provider_t *)provider;
587588
umf_result_t ret = UMF_RESULT_SUCCESS;
588589

590+
assert(p->hUpstream);
591+
589592
ret = umfMemoryProviderOpenIPCHandle(p->hUpstream, providerIpcData, ptr);
590593
if (ret != UMF_RESULT_SUCCESS) {
591594
return ret;
592595
}
593596
size_t bufferSize = getDataSizeFromIpcHandle(providerIpcData);
594597
ret = umfMemoryTrackerAdd(p->hTracker, p->pool, *ptr, bufferSize);
595-
if (ret != UMF_RESULT_SUCCESS && p->hUpstream) {
598+
if (ret != UMF_RESULT_SUCCESS) {
596599
if (umfMemoryProviderCloseIPCHandle(p->hUpstream, *ptr)) {
597600
// TODO: LOG
598601
}

0 commit comments

Comments
 (0)