From 3ece2f3268a0629383b37604d0712e3f48968ad9 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Fri, 31 May 2013 14:00:46 -0700 Subject: [PATCH] Fix free after use with createFromBitmapResource Bug 9227350 Change-Id: Iee7610a9bf3d9d1baf14b968aed2a7d0876d2af7 --- graphics/java/android/renderscript/Allocation.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java index 773328c069bfd..8ba09e07ff4b6 100644 --- a/graphics/java/android/renderscript/Allocation.java +++ b/graphics/java/android/renderscript/Allocation.java @@ -1650,6 +1650,9 @@ public class Allocation extends BaseObj { int usage) { rs.validate(); + if ((usage & (USAGE_SHARED | USAGE_IO_INPUT | USAGE_IO_OUTPUT)) != 0) { + throw new RSIllegalArgumentException("Unsupported usage specified."); + } Bitmap b = BitmapFactory.decodeResource(res, id); Allocation alloc = createFromBitmap(rs, b, mips, usage); b.recycle(); @@ -1677,7 +1680,7 @@ public class Allocation extends BaseObj { if (rs.getApplicationContext().getApplicationInfo().targetSdkVersion >= 18) { return createFromBitmapResource(rs, res, id, MipmapControl.MIPMAP_NONE, - USAGE_SHARED | USAGE_SCRIPT | USAGE_GRAPHICS_TEXTURE); + USAGE_SCRIPT | USAGE_GRAPHICS_TEXTURE); } return createFromBitmapResource(rs, res, id, MipmapControl.MIPMAP_NONE,