Fix side effects of trace-ipc and dumpheap commands
These shell commands were implicitly deleting any client-named file for which the system uid had deletion capability. They no longer do this, instead using only the client's own capabilities and file manipulation modes. Bug: 185398942 Test: manual "adb shell cmd activity dumpheap system_server /data/system/last-fstrim" Test: atest CtsPermissionTestCases:ShellCommandPermissionTest Merged-In: Ie61ab2c3f4bfbd04de09ca99c1116d1129461e8f Change-Id: Ie61ab2c3f4bfbd04de09ca99c1116d1129461e8f
This commit is contained in:
committed by
Chris Tate
parent
e8f110352b
commit
3555fa2f09
@@ -90,7 +90,6 @@ import com.android.internal.util.MemInfoReader;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
@@ -759,8 +758,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
return -1;
|
||||
}
|
||||
|
||||
File file = new File(filename);
|
||||
file.delete();
|
||||
// Writes an error message to stderr on failure
|
||||
ParcelFileDescriptor fd = openFileForSystem(filename, "w");
|
||||
if (fd == null) {
|
||||
return -1;
|
||||
@@ -914,16 +912,16 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
t.set(System.currentTimeMillis());
|
||||
heapFile = "/data/local/tmp/heapdump-" + t.format("%Y%m%d-%H%M%S") + ".prof";
|
||||
}
|
||||
pw.println("File: " + heapFile);
|
||||
pw.flush();
|
||||
|
||||
File file = new File(heapFile);
|
||||
file.delete();
|
||||
// Writes an error message to stderr on failure
|
||||
ParcelFileDescriptor fd = openFileForSystem(heapFile, "w");
|
||||
if (fd == null) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
pw.println("File: " + heapFile);
|
||||
pw.flush();
|
||||
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
|
||||
final RemoteCallback finishCallback = new RemoteCallback(new OnResultListener() {
|
||||
|
||||
Reference in New Issue
Block a user