diff options
| author | 2025-01-16 09:30:58 -0800 | |
|---|---|---|
| committer | 2025-01-16 09:30:58 -0800 | |
| commit | 2bc4a7e21173298cad7f7820566475c7fc2fb40f (patch) | |
| tree | fe60ef50ac1c576b50051854d8d8112967643b6a | |
| parent | 46d15f8648decd864a22dfc75a1c7c4fcfe02e59 (diff) | |
| parent | c8a03b7945903fd0970ce00d93a9e9a65c8c781e (diff) | |
Merge "Parcel squashing: harder errors" into main
| -rw-r--r-- | core/java/android/os/Parcel.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 4aa74621bd62..875b9098843f 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -2831,9 +2831,11 @@ public final class Parcel { } } - private void resetSqaushingState() { + private void resetSquashingState() { if (mAllowSquashing) { - Slog.wtf(TAG, "allowSquashing wasn't restored."); + String error = "allowSquashing wasn't restored."; + Slog.wtf(TAG, error); + throw new BadParcelableException(error); } mWrittenSquashableParcelables = null; mReadSquashableParcelables = null; @@ -2950,9 +2952,11 @@ public final class Parcel { for (int i = 0; i < mReadSquashableParcelables.size(); i++) { sb.append(mReadSquashableParcelables.keyAt(i)).append(' '); } - Slog.wtfStack(TAG, "Map doesn't contain offset " + String error = "Map doesn't contain offset " + firstAbsolutePos - + " : contains=" + sb.toString()); + + " : contains=" + sb.toString(); + Slog.wtfStack(TAG, error); + throw new BadParcelableException(error); } return (T) p; } @@ -5505,7 +5509,7 @@ public final class Parcel { private void freeBuffer() { mFlags = 0; - resetSqaushingState(); + resetSquashingState(); if (mOwnsNativeParcelObject) { nativeFreeBuffer(mNativePtr); } @@ -5513,7 +5517,7 @@ public final class Parcel { } private void destroy() { - resetSqaushingState(); + resetSquashingState(); if (mNativePtr != 0) { if (mOwnsNativeParcelObject) { nativeDestroy(mNativePtr); |