From 9de003043972098f4ead0c65f5d300f9561eda16 Mon Sep 17 00:00:00 2001 From: Dmitry Wagin Date: Wed, 26 May 2021 20:23:27 +0300 Subject: [PATCH] fix cast to smaller integer type 'int' from 'void *' (#2511) --- pkg/proc/native/proc_freebsd.c | 15 ++++++++++----- pkg/proc/native/proc_freebsd.h | 4 +++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/proc/native/proc_freebsd.c b/pkg/proc/native/proc_freebsd.c index 09890d7c..887aa4df 100644 --- a/pkg/proc/native/proc_freebsd.c +++ b/pkg/proc/native/proc_freebsd.c @@ -3,11 +3,13 @@ #include #include #include +#include #include #include #include #include +#include #include "proc_freebsd.h" @@ -66,21 +68,23 @@ int find_status(int pid){ return (status); } -int get_entry_point(int pid) { +uintptr_t get_entry_point(int pid) { void *ep = NULL; + errno = EINVAL; + struct procstat *ps = procstat_open_sysctl(); if (ps == NULL) - return -1; + return 0; uint cnt = 0; struct kinfo_proc *kipp = procstat_getprocs(ps, KERN_PROC_PID, pid, &cnt); if (cnt == 0) - return -1; + return 0; Elf_Auxinfo *auxv = procstat_getauxv(ps, kipp, &cnt); if (auxv == NULL) - return -1; + return 0; for (int i = 0; i < cnt; i++) { if (auxv[i].a_type == AT_ENTRY) { @@ -89,5 +93,6 @@ int get_entry_point(int pid) { } } procstat_freeauxv(ps, auxv); - return (int)ep; + errno = 0; + return (uintptr_t)ep; } diff --git a/pkg/proc/native/proc_freebsd.h b/pkg/proc/native/proc_freebsd.h index a202c2b1..76bbc383 100644 --- a/pkg/proc/native/proc_freebsd.h +++ b/pkg/proc/native/proc_freebsd.h @@ -1,4 +1,6 @@ +#include + char * find_command_name(int pid); char * find_executable(int pid); int find_status(int pid); -int get_entry_point(int pid); +uintptr_t get_entry_point(int pid);