commit f38c16748eb4a109b44c2e99c8ff377ddf3a23cf
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue May 23 22:51:26 2023 +0200

    libps: Fix allocating args/env
    
    proc_getprocargs and proc_getprocenv read their size value

diff --git a/libps/procstat.c b/libps/procstat.c
index 09c07e2a..4de4216d 100644
--- a/libps/procstat.c
+++ b/libps/procstat.c
@@ -921,12 +921,11 @@ proc_stat_set_flags (struct proc_stat *ps, ps_flags_t flags)
   /* The process's exec arguments */
   if (NEED (PSTAT_ARGS, PSTAT_PID))
     {
-      char *buf = malloc (100);
-      ps->args_len = 100;
+      mach_msg_type_number_t args_len = 100;
+      char *buf = malloc (args_len);
       ps->args = buf;
       if (ps->args)
 	{
-	  mach_msg_type_number_t args_len;
 	  if (proc_getprocargs (server, ps->pid, &ps->args, &args_len))
 	    free (buf);
 	  else
@@ -943,12 +942,11 @@ proc_stat_set_flags (struct proc_stat *ps, ps_flags_t flags)
   /* The process's exec environment */
   if (NEED (PSTAT_ENV, PSTAT_PID))
     {
-      char *buf = malloc (100);
-      ps->env_len = 100;
+      mach_msg_type_number_t env_len = 100;
+      char *buf = malloc (env_len);
       ps->env = buf;
       if (ps->env)
 	{
-	  mach_msg_type_number_t env_len;
 	  if (proc_getprocenv (server, ps->pid, &ps->env, &env_len))
 	    free (buf);
 	  else
