lmkd: Handle cases when proc_get_name() might return NULL am: 9f1be12b9a am: d7838b8e06

Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1685347

Change-Id: I0ee304f6d85704ffdfe7868379a2dfe5ab28c22e
This commit is contained in:
Suren Baghdasaryan 2021-04-23 23:25:43 +00:00 committed by Automerger Merge Worker
commit c30dd665ba
2 changed files with 5 additions and 3 deletions

View File

@ -1150,9 +1150,10 @@ static void cmd_procprio(LMKD_CTRL_PACKET packet, int field_count, struct ucred
} else {
if (!claim_record(procp, cred->pid)) {
char buf[LINE_MAX];
char *taskname = proc_get_name(cred->pid, buf, sizeof(buf));
/* Only registrant of the record can remove it */
ALOGE("%s (%d, %d) attempts to modify a process registered by another client",
proc_get_name(cred->pid, buf, sizeof(buf)), cred->uid, cred->pid);
taskname ? taskname : "A process ", cred->uid, cred->pid);
return;
}
proc_unslot(procp);
@ -1187,9 +1188,10 @@ static void cmd_procremove(LMKD_CTRL_PACKET packet, struct ucred *cred) {
if (!claim_record(procp, cred->pid)) {
char buf[LINE_MAX];
char *taskname = proc_get_name(cred->pid, buf, sizeof(buf));
/* Only registrant of the record can remove it */
ALOGE("%s (%d, %d) attempts to unregister a process registered by another client",
proc_get_name(cred->pid, buf, sizeof(buf)), cred->uid, cred->pid);
taskname ? taskname : "A process ", cred->uid, cred->pid);
return;
}

View File

@ -262,7 +262,7 @@ void stats_remove_taskname(int pid) {
}
void stats_store_taskname(int pid, const char* taskname) {
if (!enable_stats_log) {
if (!enable_stats_log || !taskname) {
return;
}