Merge "Fix memory leak in ShaderCache" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e275d0bc19
@@ -83,10 +83,12 @@ sk_sp<SkData> ShaderCache::load(const SkData& key) {
|
||||
int maxTries = 3;
|
||||
while (valueSize > mObservedBlobValueSize && maxTries > 0) {
|
||||
mObservedBlobValueSize = std::min(valueSize, maxValueSize);
|
||||
valueBuffer = realloc(valueBuffer, mObservedBlobValueSize);
|
||||
if (!valueBuffer) {
|
||||
void *newValueBuffer = realloc(valueBuffer, mObservedBlobValueSize);
|
||||
if (!newValueBuffer) {
|
||||
free(valueBuffer);
|
||||
return nullptr;
|
||||
}
|
||||
valueBuffer = newValueBuffer;
|
||||
valueSize = bc->get(key.data(), keySize, valueBuffer, mObservedBlobValueSize);
|
||||
maxTries--;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user