forked from OSchip/llvm-project
[gdb-remote] process properly effective uid
Summary: Someone wrote SetEffectiveSetEffectiveGroupID instead of SetEffectiveUserID. After this fix, the android process list can show user names, e.g. ``` PID PARENT USER GROUP EFF USER EFF GROUP TRIPLE ARGUMENTS ====== ====== ========== ========== ========== ========== ============================== ============================ 529 1 root 0 root 0 /sbin/ueventd ``` Reviewers: labath,clayborg,aadsm,xiaobai Subscribers: llvm-svn: 373953
This commit is contained in:
parent
d457f7e080
commit
8b6dcc1d8c
|
@ -8,13 +8,13 @@ from gdbclientutils import *
|
|||
|
||||
class TestPlatformClient(GDBRemoteTestBase):
|
||||
|
||||
def test_process_list_with_all_users(self):
|
||||
def test_process_list(self):
|
||||
"""Test connecting to a remote linux platform"""
|
||||
|
||||
class MyResponder(MockGDBServerResponder):
|
||||
def qfProcessInfo(self, packet):
|
||||
if "all_users:1" in packet:
|
||||
return "pid:10;ppid:1;uid:1;gid:1;euid:1;egid:1;name:" + binascii.hexlify("/a/process") + ";args:"
|
||||
return "pid:10;ppid:1;uid:2;gid:3;euid:4;egid:5;name:" + binascii.hexlify("/a/process") + ";args:"
|
||||
else:
|
||||
return "E04"
|
||||
|
||||
|
@ -28,6 +28,10 @@ class TestPlatformClient(GDBRemoteTestBase):
|
|||
self.assertTrue(self.dbg.GetSelectedPlatform().IsConnected())
|
||||
self.expect("platform process list -x",
|
||||
startstr="1 matching process was found", endstr="process" + os.linesep)
|
||||
self.expect("platform process list -xv",
|
||||
substrs=[
|
||||
"PID PARENT USER GROUP EFF USER EFF GROUP",
|
||||
"10 1 2 3 4 5"])
|
||||
self.expect("platform process list",
|
||||
error="error: no processes were found on the \"remote-linux\" platform")
|
||||
finally:
|
||||
|
|
|
@ -1906,7 +1906,7 @@ bool GDBRemoteCommunicationClient::DecodeProcessInfoResponse(
|
|||
} else if (name.equals("euid")) {
|
||||
uint32_t uid = UINT32_MAX;
|
||||
value.getAsInteger(0, uid);
|
||||
process_info.SetEffectiveGroupID(uid);
|
||||
process_info.SetEffectiveUserID(uid);
|
||||
} else if (name.equals("gid")) {
|
||||
uint32_t gid = UINT32_MAX;
|
||||
value.getAsInteger(0, gid);
|
||||
|
|
Loading…
Reference in New Issue