Merge "Fix memory leak in ShaderCache" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-30 17:33:13 +00:00
committed by Android (Google) Code Review

View File

@@ -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--;
}