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
208512ae75
commit
4c0b9a5fbd
@@ -76,7 +76,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;
|
||||
@@ -719,8 +718,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;
|
||||
@@ -871,8 +869,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
String process = getNextArgRequired();
|
||||
String heapFile = getNextArgRequired();
|
||||
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user