From 66721198b640a241c2c666e0f628a665b4bf8c23 Mon Sep 17 00:00:00 2001 From: ToMe25 Date: Thu, 1 Dec 2022 22:02:07 +0100 Subject: Don't try to read System process procargs --- sysdeps/openbsd/procargs.c | 5 +++++ sysdeps/openbsd/procmap.c | 1 + 2 files changed, 6 insertions(+) (limited to 'sysdeps') diff --git a/sysdeps/openbsd/procargs.c b/sysdeps/openbsd/procargs.c index c686bd35..3a3e68ab 100644 --- a/sysdeps/openbsd/procargs.c +++ b/sysdeps/openbsd/procargs.c @@ -70,6 +70,11 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf, return NULL; } + if (pinfo[0].p_flag & P_SYSTEM) { + glibtop_suid_leave (server); + return NULL; + } + args = kvm_getargv (server->machine->kd, pinfo, max_len); if (args == NULL) { glibtop_suid_leave (server); diff --git a/sysdeps/openbsd/procmap.c b/sysdeps/openbsd/procmap.c index 7729f31a..c6537f9a 100644 --- a/sysdeps/openbsd/procmap.c +++ b/sysdeps/openbsd/procmap.c @@ -200,6 +200,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &count); if (pinfo == NULL) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); + glibtop_suid_leave (server); return (glibtop_map_entry*) g_array_free(maps, TRUE); } -- cgit v1.2.1