diff options
Diffstat (limited to 'core/java/android/os/BaseBundle.java')
| -rw-r--r-- | core/java/android/os/BaseBundle.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java index 0fef78d1f4ba..3d4c00c3b480 100644 --- a/core/java/android/os/BaseBundle.java +++ b/core/java/android/os/BaseBundle.java @@ -1601,12 +1601,13 @@ public class BaseBundle { private void readFromParcelInner(Parcel parcel, int length) { if (length < 0) { throw new RuntimeException("Bad length in parcel: " + length); - } else if (length == 0) { // Empty Bundle or end of data. mParcelledData = NoImagePreloadHolder.EMPTY_PARCEL; mParcelledByNative = false; return; + } else if (length % 4 != 0) { + throw new IllegalStateException("Bundle length is not aligned by 4: " + length); } final int magic = parcel.readInt(); |
