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
1692babe5e
commit
6984eaa9f4
@@ -60,7 +60,6 @@ import com.android.internal.util.HexDump;
|
|||||||
import com.android.internal.util.Preconditions;
|
import com.android.internal.util.Preconditions;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
@@ -660,8 +659,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
File file = new File(filename);
|
// Writes an error message to stderr on failure
|
||||||
file.delete();
|
|
||||||
ParcelFileDescriptor fd = openOutputFileForSystem(filename);
|
ParcelFileDescriptor fd = openOutputFileForSystem(filename);
|
||||||
if (fd == null) {
|
if (fd == null) {
|
||||||
return -1;
|
return -1;
|
||||||
@@ -812,8 +810,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
|||||||
String process = getNextArgRequired();
|
String process = getNextArgRequired();
|
||||||
String heapFile = getNextArgRequired();
|
String heapFile = getNextArgRequired();
|
||||||
|
|
||||||
File file = new File(heapFile);
|
// Writes an error message to stderr on failure
|
||||||
file.delete();
|
|
||||||
ParcelFileDescriptor fd = openOutputFileForSystem(heapFile);
|
ParcelFileDescriptor fd = openOutputFileForSystem(heapFile);
|
||||||
if (fd == null) {
|
if (fd == null) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user