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