summaryrefslogtreecommitdiff
path: root/core/java/android/os/Parcel.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/os/Parcel.java')
-rw-r--r--core/java/android/os/Parcel.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 74dcc0787b3b..deca473ce621 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -691,11 +691,19 @@ public final class Parcel {
return;
}
Set<Map.Entry<String,Object>> entries = val.entrySet();
- writeInt(entries.size());
+ int size = entries.size();
+ writeInt(size);
+
for (Map.Entry<String,Object> e : entries) {
writeValue(e.getKey());
writeValue(e.getValue());
+ size--;
}
+
+ if (size != 0) {
+ throw new BadParcelableException("Map size does not match number of entries!");
+ }
+
}
/**