summaryrefslogtreecommitdiff
path: root/core/java/android/os/BaseBundle.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/os/BaseBundle.java')
-rw-r--r--core/java/android/os/BaseBundle.java3
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();