diff options
| author | 2012-09-07 18:42:38 -0700 | |
|---|---|---|
| committer | 2012-09-07 18:42:38 -0700 | |
| commit | e49d7ec36132f33b7c9e2c044ab9dd3585aa3747 (patch) | |
| tree | 1321a0c086c3b17de0d3c4a62645f672fa511d6d /libs/hwui/LayerRenderer.cpp | |
| parent | 1558cf1498ecc687532f2dad3de720053dca9309 (diff) | |
Fix memory corruption in LayerRenderer::copyLayer
The pixel store pack alignment was not set for the source texture,
causing a write to occur outside of the destination bitmap's
bounds.
Change-Id: Iaa5767acf7b5943fbc2765c3810a142f06b1a796
Diffstat (limited to 'libs/hwui/LayerRenderer.cpp')
| -rw-r--r-- | libs/hwui/LayerRenderer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp index f81640b22b37..5a8f2b724e8a 100644 --- a/libs/hwui/LayerRenderer.cpp +++ b/libs/hwui/LayerRenderer.cpp @@ -400,6 +400,8 @@ bool LayerRenderer::copyLayer(Layer* layer, SkBitmap* bitmap) { caches.activeTexture(0); glBindTexture(GL_TEXTURE_2D, texture); + glPixelStorei(GL_PACK_ALIGNMENT, bitmap->bytesPerPixel()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |