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.
This commit is contained in:
Jaromir Capik 2013-02-04 18:21:39 +01:00 committed by Craig Small
parent 5a27c8095e
commit 365a5fa517

4
pmap.c
View File

@ -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++;