diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java index c25ebb7f815c1..24569fa6e9b15 100644 --- a/core/java/android/os/Binder.java +++ b/core/java/android/os/Binder.java @@ -337,13 +337,16 @@ public class Binder implements IBinder { try { res = onTransact(code, data, reply, flags); } catch (RemoteException e) { + reply.setDataPosition(0); reply.writeException(e); res = true; } catch (RuntimeException e) { + reply.setDataPosition(0); reply.writeException(e); res = true; } catch (OutOfMemoryError e) { RuntimeException re = new RuntimeException("Out of memory", e); + reply.setDataPosition(0); reply.writeException(re); res = true; }