diff --git a/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java b/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java index b3bc488b64a..8b41703af5c 100644 --- a/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java +++ b/binder/src/main/java/io/grpc/binder/internal/BinderTransport.java @@ -345,6 +345,8 @@ private final void sendShutdownTransaction() { // Ignore. } Parcel parcel = Parcel.obtain(); + // Send empty flags to avoid a memory leak linked to empty parcels (b/207778694). + parcel.writeInt(0); try { outgoingBinder.transact(SHUTDOWN_TRANSPORT, parcel, null, IBinder.FLAG_ONEWAY); } catch (RemoteException re) {