I made an attempt at adding pledge to pstree.
steve

$OpenBSD: patch-pstree_c,v 1.5 2015/05/22 13:45:30 schwarze Exp $
--- pstree.c.orig       Wed May 13 05:24:47 2015
+++ pstree.c    Wed Apr 20 22:21:07 2016
@@ -77,7 +77,7 @@ extern getargs(struct ProcInfo *, int, char *, int);
  * (Net|Open|Free)BSD & Darwin merged by Ralf Meyer <ralf AT
thp.Uni-Duisburg.DE>
  */
 #  define HAS_PGID
-#  define PSCMD        "ps -axwwo user,pid,ppid,pgid,command"
+#  define PSCMD        "ps -kaxwwo user,pid,ppid,pgid,command"
 #  define PSFORMAT     "%s %ld %ld %ld %[^\n]"
 #  define PSVARS       P[i].name, &P[i].pid, &P[i].ppid, &P[i].pgid, P[i].cmd
 #  define PSVARSN      5
@@ -872,6 +872,11 @@ int main(int argc, char **argv) {
 #ifdef ZOMBIES_HAVE_PID_0
   FixZombies();
 #endif
+
+  if (pledge("stdio getpw ioctl proc", NULL) == -1){
+    fprintf(stderr, "%s: pledge\n", Progname);
+       exit(1);
+  }

   if (NProc == 0) {
     fprintf(stderr, "%s: No processes read.\n", Progname);

Reply via email to