OSDN Git Service

return 0 for allocation size if recycled
authorJohn Reck <jreck@google.com>
Mon, 14 Nov 2016 19:28:17 +0000 (11:28 -0800)
committerJohn Reck <jreck@google.com>
Mon, 14 Nov 2016 19:28:17 +0000 (11:28 -0800)
Change-Id: Ic471701faf026411938ebe87131533a8ef09bbd7
Fixes: 19804653
Test: none

graphics/java/android/graphics/Bitmap.java

index 79c63ee..e628cf8 100644 (file)
@@ -1241,6 +1241,11 @@ public final class Bitmap implements Parcelable {
      * #getAllocationByteCount()}.</p>
      */
     public final int getByteCount() {
+        if (mRecycled) {
+            Log.w(TAG, "Called getByteCount() on a recycle()'d bitmap! "
+                    + "This is undefined behavior!");
+            return 0;
+        }
         // int result permits bitmaps up to 46,340 x 46,340
         return getRowBytes() * getHeight();
     }
@@ -1260,6 +1265,11 @@ public final class Bitmap implements Parcelable {
      * @see #reconfigure(int, int, Config)
      */
     public final int getAllocationByteCount() {
+        if (mRecycled) {
+            Log.w(TAG, "Called getAllocationByteCount() on a recycle()'d bitmap! "
+                    + "This is undefined behavior!");
+            return 0;
+        }
         return nativeGetAllocationByteCount(mNativePtr);
     }