summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2025-01-16 09:30:58 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-01-16 09:30:58 -0800
commit2bc4a7e21173298cad7f7820566475c7fc2fb40f (patch)
treefe60ef50ac1c576b50051854d8d8112967643b6a
parent46d15f8648decd864a22dfc75a1c7c4fcfe02e59 (diff)
parentc8a03b7945903fd0970ce00d93a9e9a65c8c781e (diff)
Merge "Parcel squashing: harder errors" into main
-rw-r--r--core/java/android/os/Parcel.java16
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);