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

am: e275d0bc19

Change-Id: I6428c1cfa94456814dedb5ede4ba51f3b1b1d706
This commit is contained in:
Stan Iliev
2018-03-30 19:48:19 +00:00
committed by android-build-merger

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