Use a separate variable for the size passed to sysctl.

This fixes a sign mismatch warning.

gdb/ChangeLog:

	* fbsd-nat.c (fbsd_pid_to_exec_file): Use new "buflen" instead of
	"len" with sysctl.
This commit is contained in:
John Baldwin 2016-01-19 10:23:00 -08:00
parent 40068dccc4
commit f2feec9809
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2016-01-19 John Baldwin <jhb@FreeBSD.org>
* fbsd-nat.c (fbsd_pid_to_exec_file): Use new "buflen" instead of
"len" with sysctl.
2016-01-19 John Baldwin <jhb@FreeBSD.org>
* fbsd-tdep.c (find_stop_signal): Remove.

View File

@ -43,18 +43,20 @@
static char *
fbsd_pid_to_exec_file (struct target_ops *self, int pid)
{
ssize_t len = PATH_MAX;
ssize_t len;
static char buf[PATH_MAX];
char name[PATH_MAX];
#ifdef KERN_PROC_PATHNAME
size_t buflen;
int mib[4];
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PATHNAME;
mib[3] = pid;
if (sysctl (mib, 4, buf, &len, NULL, 0) == 0)
buflen = sizeof buf;
if (sysctl (mib, 4, buf, &buflen, NULL, 0) == 0)
return buf;
#endif