[Bug 239586] sysutils/atop: a function pointer was called with incorrect number of argument
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Aug 2 03:15:20 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239586
Bug ID: 239586
Summary: sysutils/atop: a function pointer was called with
incorrect number of argument
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: ports-bugs at FreeBSD.org
Reporter: msl0000023508 at gmail.com
CC: samm at os2.kiev.ua
CC: samm at os2.kiev.ua
Flags: maintainer-feedback?(samm at os2.kiev.ua)
In source file atopsar.c, function 'reportlive', a pointer to function was
called with 16 arguments:
if ( !(rv = (pridef[i].priline)(ss, (struct tstat *)0, 0,
numsecs, numsecs*hertz, hertz,
osvers, osrel, ossub,
stampalways ? timebuf : " ",
0, 0, 0, 0, 0, 0) ) )
However the actual functions are expecting 17 arguments, for example:
static int
cpuline(struct sstat *ss, struct tstat *ts, struct tstat **ps, int nactproc,
time_t deltasec, time_t deltatic, time_t hz,
int osvers, int osrel, int ossub, char *tstamp,
int ppres, int ntrun, int ntslpi, int ntslpu, int pexit, int pzombie)
In particular it misses argument 'struct tstat **ps'.
This resulted in erroneous '(null)' printed from atopsar(1), or depending the
pointer size and the compiler optimization, it could even crash due to
accessing an invalid pointer in printf(3):
an-i386-machine$ atopsar -c 2
an-i386-machine 12.0-RELEASE-p5 FreeBSD 12.0-RELEASE-p5 GENERIC i386
2019/08/02
-------------------------- analysis date: 2019/08/02 --------------------------
10:55:48 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle _cpu_
10:55:50 all 0 0 0 0 0 0 0 0 399
(null) 0 0 0 0 0 0 0 0 0 100
(null) 1 0 0 0 0 0 0 0 0 100
(null) 2 0 0 0 0 0 0 0 0 100
(null) 3 0 0 0 0 0 0 0 0 100
...
an-amd64-machine$ atopsar -c 2
an-amd64-machine 13.0-CURRENT FreeBSD 13.0-CURRENT r350103 GENERIC amd64
2019/08/02
-------------------------- analysis date: 2019/08/02 --------------------------
11:05:36 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle _cpu_
11:05:38 all 0 0 0 0 0 0 0 0 600
Segmentation fault (core dumped)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list