@@ -226,6 +226,7 @@ checkErrorAndSetLastProvider(umf_result_t result,
226226umf_result_t umfMemoryProviderAlloc (umf_memory_provider_handle_t hProvider ,
227227 size_t size , size_t alignment , void * * ptr ) {
228228 UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
229+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
229230 umf_result_t res =
230231 hProvider -> ops .alloc (hProvider -> provider_priv , size , alignment , ptr );
231232 checkErrorAndSetLastProvider (res , hProvider );
@@ -258,6 +259,7 @@ umf_result_t
258259umfMemoryProviderGetRecommendedPageSize (umf_memory_provider_handle_t hProvider ,
259260 size_t size , size_t * pageSize ) {
260261 UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
262+ UMF_CHECK ((pageSize != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
261263 umf_result_t res = hProvider -> ops .get_recommended_page_size (
262264 hProvider -> provider_priv , size , pageSize );
263265 checkErrorAndSetLastProvider (res , hProvider );
@@ -268,6 +270,7 @@ umf_result_t
268270umfMemoryProviderGetMinPageSize (umf_memory_provider_handle_t hProvider ,
269271 void * ptr , size_t * pageSize ) {
270272 UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
273+ UMF_CHECK ((pageSize != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
271274 umf_result_t res = hProvider -> ops .get_min_page_size (
272275 hProvider -> provider_priv , ptr , pageSize );
273276 checkErrorAndSetLastProvider (res , hProvider );
@@ -282,6 +285,7 @@ const char *umfMemoryProviderGetName(umf_memory_provider_handle_t hProvider) {
282285umf_result_t umfMemoryProviderPurgeLazy (umf_memory_provider_handle_t hProvider ,
283286 void * ptr , size_t size ) {
284287 UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
288+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
285289 umf_result_t res =
286290 hProvider -> ops .ext .purge_lazy (hProvider -> provider_priv , ptr , size );
287291 checkErrorAndSetLastProvider (res , hProvider );
@@ -291,6 +295,7 @@ umf_result_t umfMemoryProviderPurgeLazy(umf_memory_provider_handle_t hProvider,
291295umf_result_t umfMemoryProviderPurgeForce (umf_memory_provider_handle_t hProvider ,
292296 void * ptr , size_t size ) {
293297 UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
298+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
294299 umf_result_t res =
295300 hProvider -> ops .ext .purge_force (hProvider -> provider_priv , ptr , size );
296301 checkErrorAndSetLastProvider (res , hProvider );
@@ -305,15 +310,11 @@ umf_result_t
305310umfMemoryProviderAllocationSplit (umf_memory_provider_handle_t hProvider ,
306311 void * ptr , size_t totalSize ,
307312 size_t firstSize ) {
308- if (!ptr ) {
309- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
310- }
311- if (firstSize == 0 || totalSize == 0 ) {
312- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
313- }
314- if (firstSize >= totalSize ) {
315- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
316- }
313+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
314+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
315+ UMF_CHECK ((firstSize != 0 && totalSize != 0 ),
316+ UMF_RESULT_ERROR_INVALID_ARGUMENT );
317+ UMF_CHECK ((firstSize < totalSize ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
317318
318319 umf_result_t res = hProvider -> ops .ext .allocation_split (
319320 hProvider -> provider_priv , ptr , totalSize , firstSize );
@@ -325,18 +326,13 @@ umf_result_t
325326umfMemoryProviderAllocationMerge (umf_memory_provider_handle_t hProvider ,
326327 void * lowPtr , void * highPtr ,
327328 size_t totalSize ) {
328- if (!lowPtr || !highPtr ) {
329- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
330- }
331- if (totalSize == 0 ) {
332- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
333- }
334- if ((uintptr_t )lowPtr >= (uintptr_t )highPtr ) {
335- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
336- }
337- if ((uintptr_t )highPtr - (uintptr_t )lowPtr > totalSize ) {
338- return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
339- }
329+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
330+ UMF_CHECK ((lowPtr && highPtr ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
331+ UMF_CHECK ((totalSize != 0 ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
332+ UMF_CHECK (((uintptr_t )lowPtr < (uintptr_t )highPtr ),
333+ UMF_RESULT_ERROR_INVALID_ARGUMENT );
334+ UMF_CHECK (((uintptr_t )highPtr - (uintptr_t )lowPtr < totalSize ),
335+ UMF_RESULT_ERROR_INVALID_ARGUMENT );
340336
341337 umf_result_t res = hProvider -> ops .ext .allocation_merge (
342338 hProvider -> provider_priv , lowPtr , highPtr , totalSize );
@@ -347,6 +343,8 @@ umfMemoryProviderAllocationMerge(umf_memory_provider_handle_t hProvider,
347343umf_result_t
348344umfMemoryProviderGetIPCHandleSize (umf_memory_provider_handle_t hProvider ,
349345 size_t * size ) {
346+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
347+ UMF_CHECK ((size != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
350348 return hProvider -> ops .ipc .get_ipc_handle_size (hProvider -> provider_priv ,
351349 size );
352350}
@@ -355,27 +353,37 @@ umf_result_t
355353umfMemoryProviderGetIPCHandle (umf_memory_provider_handle_t hProvider ,
356354 const void * ptr , size_t size ,
357355 void * providerIpcData ) {
356+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
357+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
358+ UMF_CHECK ((providerIpcData != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
358359 return hProvider -> ops .ipc .get_ipc_handle (hProvider -> provider_priv , ptr ,
359360 size , providerIpcData );
360361}
361362
362363umf_result_t
363364umfMemoryProviderPutIPCHandle (umf_memory_provider_handle_t hProvider ,
364365 void * providerIpcData ) {
366+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
367+ UMF_CHECK ((providerIpcData != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
365368 return hProvider -> ops .ipc .put_ipc_handle (hProvider -> provider_priv ,
366369 providerIpcData );
367370}
368371
369372umf_result_t
370373umfMemoryProviderOpenIPCHandle (umf_memory_provider_handle_t hProvider ,
371374 void * providerIpcData , void * * ptr ) {
375+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
376+ UMF_CHECK ((providerIpcData != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
377+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
372378 return hProvider -> ops .ipc .open_ipc_handle (hProvider -> provider_priv ,
373379 providerIpcData , ptr );
374380}
375381
376382umf_result_t
377383umfMemoryProviderCloseIPCHandle (umf_memory_provider_handle_t hProvider ,
378384 void * ptr , size_t size ) {
385+ UMF_CHECK ((hProvider != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
386+ UMF_CHECK ((ptr != NULL ), UMF_RESULT_ERROR_INVALID_ARGUMENT );
379387 return hProvider -> ops .ipc .close_ipc_handle (hProvider -> provider_priv , ptr ,
380388 size );
381389}
0 commit comments