xref: /aosp_15_r20/external/skia/src/base/SkMalloc.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3*c8dee2aaSAndroid Build Coastguard Worker 
4*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/base/SkMalloc.h"
5*c8dee2aaSAndroid Build Coastguard Worker 
6*c8dee2aaSAndroid Build Coastguard Worker #include "src/base/SkSafeMath.h"
7*c8dee2aaSAndroid Build Coastguard Worker 
sk_calloc_throw(size_t count,size_t elemSize)8*c8dee2aaSAndroid Build Coastguard Worker void* sk_calloc_throw(size_t count, size_t elemSize) {
9*c8dee2aaSAndroid Build Coastguard Worker     return sk_calloc_throw(SkSafeMath::Mul(count, elemSize));
10*c8dee2aaSAndroid Build Coastguard Worker }
11*c8dee2aaSAndroid Build Coastguard Worker 
sk_malloc_throw(size_t count,size_t elemSize)12*c8dee2aaSAndroid Build Coastguard Worker void* sk_malloc_throw(size_t count, size_t elemSize) {
13*c8dee2aaSAndroid Build Coastguard Worker     return sk_malloc_throw(SkSafeMath::Mul(count, elemSize));
14*c8dee2aaSAndroid Build Coastguard Worker }
15*c8dee2aaSAndroid Build Coastguard Worker 
sk_realloc_throw(void * buffer,size_t count,size_t elemSize)16*c8dee2aaSAndroid Build Coastguard Worker void* sk_realloc_throw(void* buffer, size_t count, size_t elemSize) {
17*c8dee2aaSAndroid Build Coastguard Worker     return sk_realloc_throw(buffer, SkSafeMath::Mul(count, elemSize));
18*c8dee2aaSAndroid Build Coastguard Worker }
19*c8dee2aaSAndroid Build Coastguard Worker 
sk_malloc_canfail(size_t count,size_t elemSize)20*c8dee2aaSAndroid Build Coastguard Worker void* sk_malloc_canfail(size_t count, size_t elemSize) {
21*c8dee2aaSAndroid Build Coastguard Worker     return sk_malloc_canfail(SkSafeMath::Mul(count, elemSize));
22*c8dee2aaSAndroid Build Coastguard Worker }
23