diff options
author | 2018-08-29 18:15:31 +0000 | |
---|---|---|
committer | 2018-08-29 18:15:31 +0000 | |
commit | 0ce807abd5216010a085db207ef7799d3e7f549c (patch) | |
tree | d1814a1f011a7c0b434b7a733160cdadc6078499 | |
parent | f156ea735322029023f471a97106253a0dfac079 (diff) | |
parent | 80b9d69d7313dfb085265988f1296079a59e7759 (diff) |
Merge "Verify number of Map entries written to Parcel"
-rw-r--r-- | core/java/android/os/Parcel.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 7e7666adfeed..cc6bb12a0894 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -846,11 +846,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!"); + } + } /** |