From 365a5fa517324b8aab888e9a3ce640b3ccfc448b Mon Sep 17 00:00:00 2001 From: Jaromir Capik Date: Mon, 4 Feb 2013 18:21:39 +0100 Subject: [PATCH] pmap: empty output or crashes on ppc/s390 caused by wrong pidlist type Previously the pidlist variable was defined as unsigned long * whilst the openproc function accepts pid_t *. Both target types differ in size (8 != 4) and therefore the issue mainly affects big endian architectures. This commit changes the pidlist type to pid_t * so that it's compatible with openproc. --- pmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmap.c b/pmap.c index 7862eace..5a955dff 100644 --- a/pmap.c +++ b/pmap.c @@ -621,7 +621,7 @@ static void range_arguments(char *optarg) int main(int argc, char **argv) { - unsigned long *pidlist; + pid_t *pidlist; unsigned count = 0; PROCTAB *PT; proc_t p; @@ -689,7 +689,7 @@ int main(int argc, char **argv) x_option && (d_option || X_option)) xerrx(EXIT_FAILURE, _("options -d, -x, -X are mutually exclusive")); - pidlist = xmalloc(sizeof(unsigned long) * argc); + pidlist = xmalloc(sizeof(pid_t) * argc); while (*argv) { char *walk = *argv++;