@@ -215,11 +215,11 @@ void ffProcessGetInfoLinux(pid_t pid, FFstrbuf* processName, FFstrbuf* exe, cons
215215 if (exePath && sysctl (
216216 (int []){CTL_KERN ,
217217 #if __FreeBSD__
218- KERN_PROC ,
218+ KERN_PROC , KERN_PROC_PATHNAME , pid
219219 #else
220- KERN_PROC_ARGS ,
220+ KERN_PROC_ARGS , pid , KERN_PROC_PATHNAME
221221 #endif
222- KERN_PROC_PATHNAME , pid }, 4 ,
222+ }, 4 ,
223223 args , & size ,
224224 NULL , 0
225225 ) == 0 )
@@ -229,11 +229,11 @@ void ffProcessGetInfoLinux(pid_t pid, FFstrbuf* processName, FFstrbuf* exe, cons
229229 if (sysctl (
230230 (int []){CTL_KERN ,
231231 #if __FreeBSD__
232- KERN_PROC , KERN_PROC_ARGS ,
232+ KERN_PROC , KERN_PROC_ARGS , pid
233233 #else
234- KERN_PROC_ARGS , KERN_PROC_ARGV ,
234+ KERN_PROC_ARGS , pid , KERN_PROC_ARGV ,
235235 #endif
236- pid }, 4 ,
236+ }, 4 ,
237237 args , & size ,
238238 NULL , 0
239239 ) == 0 )
@@ -398,10 +398,10 @@ const char* ffProcessGetBasicInfoLinux(pid_t pid, FFstrbuf* name, pid_t* ppid, i
398398 struct kinfo_proc2 proc ;
399399 size_t size = sizeof (proc );
400400 if (sysctl (
401- (int []){CTL_KERN , KERN_PROC2 , KERN_PROC_PID , pid }, 4 ,
401+ (int []){CTL_KERN , KERN_PROC2 , KERN_PROC_PID , pid , sizeof ( proc ), 1 }, 6 ,
402402 & proc , & size ,
403403 NULL , 0
404- ))
404+ ) != 0 )
405405 return "sysctl(KERN_PROC_PID) failed" ;
406406
407407 ffStrbufSetS (name , proc .p_comm );
0 commit comments