diff options
author | Josh Gao <jmgao@google.com> | 2020-06-12 15:00:01 -0700 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2020-06-15 13:17:10 -0700 |
commit | 3e29e4a39c9090e2815359a1fba0030f62ed8bbb (patch) | |
tree | e2b20df08c627ecf42a401a070081897de72e5db /services/backup/java | |
parent | 0b2bb19db42dfccf3849bf7a3b30e18e7ef211e0 (diff) |
Fix file descriptor ownership.
Previously, we attempt to pass ownership of the fd owned by a
ParcelFileDescriptor to a FileInputStream, which explodes when we try to
close it.
Bug: http://b/156867945
Test: treehugger
Change-Id: I9d5124658beb50f0a08499ed09e652037cb9ae66
Diffstat (limited to 'services/backup/java')
-rw-r--r-- | services/backup/java/com/android/server/backup/restore/FullRestoreEngineThread.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/backup/java/com/android/server/backup/restore/FullRestoreEngineThread.java b/services/backup/java/com/android/server/backup/restore/FullRestoreEngineThread.java index 7075608674a1..71f1dbf35008 100644 --- a/services/backup/java/com/android/server/backup/restore/FullRestoreEngineThread.java +++ b/services/backup/java/com/android/server/backup/restore/FullRestoreEngineThread.java @@ -1,10 +1,10 @@ package com.android.server.backup.restore; import android.os.ParcelFileDescriptor; +import android.os.ParcelFileDescriptor.AutoCloseInputStream; import libcore.io.IoUtils; -import java.io.FileInputStream; import java.io.InputStream; class FullRestoreEngineThread implements Runnable { @@ -19,7 +19,7 @@ class FullRestoreEngineThread implements Runnable { // We *do* want this FileInputStream to own the underlying fd, so that // when we are finished with it, it closes this end of the pipe in a way // that signals its other end. - mEngineStream = new FileInputStream(engineSocket.getFileDescriptor(), true); + mEngineStream = new AutoCloseInputStream(engineSocket); // Tell it to be sure to leave the agent instance up after finishing mMustKillAgent = false; } |