Fix use-after-free

Since putOrDelete may delete the layer, we shouldn't be accessing its
member after calling it.

Caught by the static analyzer:

frameworks/base/libs/hwui/renderstate/OffscreenBufferPool.cpp:183:44:
warning: Use of memory after it is freed

Bug: 27101951
Test: mma. Static analyzer warning is gone.
Change-Id: I25ee8b45ede608da52bf58d1d9f52ce3bb60d4cb
This commit is contained in:
George Burgess IV
2017-07-18 15:59:47 -07:00
parent 1ad8903bb6
commit 09c00f25af

View File

@@ -179,8 +179,9 @@ OffscreenBuffer* OffscreenBufferPool::resize(OffscreenBuffer* layer,
layer->region.clear();
return layer;
}
bool wideColorGamut = layer->wideColorGamut;
putOrDelete(layer);
return get(renderState, width, height, layer->wideColorGamut);
return get(renderState, width, height, wideColorGamut);
}
void OffscreenBufferPool::dump() {