@@ -147,9 +147,7 @@ static umf_result_t trackingAlloc(void *hProvider, size_t size,
147
147
(umf_tracking_memory_provider_t * )hProvider ;
148
148
umf_result_t ret = UMF_RESULT_SUCCESS ;
149
149
150
- if (!p -> hUpstream ) {
151
- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
152
- }
150
+ assert (p -> hUpstream );
153
151
154
152
ret = umfMemoryProviderAlloc (p -> hUpstream , size , alignment , ptr );
155
153
if (ret != UMF_RESULT_SUCCESS || !* ptr ) {
@@ -372,6 +370,11 @@ static umf_result_t trackingInitialize(void *params, void **ret) {
372
370
}
373
371
374
372
* 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
+
375
378
* ret = provider ;
376
379
return UMF_RESULT_SUCCESS ;
377
380
}
@@ -586,13 +589,15 @@ static umf_result_t trackingOpenIpcHandle(void *provider, void *providerIpcData,
586
589
(umf_tracking_memory_provider_t * )provider ;
587
590
umf_result_t ret = UMF_RESULT_SUCCESS ;
588
591
592
+ assert (p -> hUpstream );
593
+
589
594
ret = umfMemoryProviderOpenIPCHandle (p -> hUpstream , providerIpcData , ptr );
590
595
if (ret != UMF_RESULT_SUCCESS ) {
591
596
return ret ;
592
597
}
593
598
size_t bufferSize = getDataSizeFromIpcHandle (providerIpcData );
594
599
ret = umfMemoryTrackerAdd (p -> hTracker , p -> pool , * ptr , bufferSize );
595
- if (ret != UMF_RESULT_SUCCESS && p -> hUpstream ) {
600
+ if (ret != UMF_RESULT_SUCCESS ) {
596
601
if (umfMemoryProviderCloseIPCHandle (p -> hUpstream , * ptr )) {
597
602
// TODO: LOG
598
603
}
0 commit comments