Blob Blame History Raw
From 0d476355aafa4377fac05cf01ac9284d6fe7cad0 Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik@redhat.com>
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 7862eac..edabdcf 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++;
-- 
1.7.11.7