logd: switch from android_ids to getpwuid
Bug: 27999086 Change-Id: I7f4e68b21f58789b4dcada04f9c27f5722940c02
This commit is contained in:
parent
e99283103b
commit
b8a95bd3c9
|
@ -15,8 +15,10 @@
|
|||
*/
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <log/logger.h>
|
||||
|
@ -159,14 +161,13 @@ const char *LogStatistics::uidToName(uid_t uid) const {
|
|||
return strdup("auditd");
|
||||
}
|
||||
|
||||
// Android hard coded
|
||||
const struct android_id_info *info = android_ids;
|
||||
|
||||
for (size_t i = 0; i < android_id_count; ++i) {
|
||||
if (info->aid == uid) {
|
||||
return strdup(info->name);
|
||||
// Android system
|
||||
if (uid < AID_APP) {
|
||||
// in bionic, thread safe as long as we copy the results
|
||||
struct passwd *pwd = getpwuid(uid);
|
||||
if (pwd) {
|
||||
return strdup(pwd->pw_name);
|
||||
}
|
||||
++info;
|
||||
}
|
||||
|
||||
// Parse /data/system/packages.list
|
||||
|
@ -179,6 +180,14 @@ const char *LogStatistics::uidToName(uid_t uid) const {
|
|||
return name;
|
||||
}
|
||||
|
||||
// Android application
|
||||
if (uid >= AID_APP) {
|
||||
struct passwd *pwd = getpwuid(uid);
|
||||
if (pwd) {
|
||||
return strdup(pwd->pw_name);
|
||||
}
|
||||
}
|
||||
|
||||
// report uid -> pid(s) -> pidToName if unique
|
||||
for(pidTable_t::const_iterator it = pidTable.begin(); it != pidTable.end(); ++it) {
|
||||
const PidEntry &entry = it->second;
|
||||
|
|
Loading…
Reference in New Issue