top(1): cleanup memory allocation and warnings

- Prefer calloc over malloc. This is more predicable and we're not in a
performance sensitive context. [1]
- Remove bogus comment (obsolete from prior commit). [2]
- Remove void casts and type casts of NULL
- Remove redundant declaration of 'quit'
- Add additional const

Reported by:	kib [1], vangyzen [2]
This commit is contained in:
Eitan Adler 2018-06-02 21:40:45 +00:00
parent 5167f178ab
commit 4fedcd4983
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334540
5 changed files with 22 additions and 25 deletions

View File

@ -148,8 +148,8 @@ display_resize(void)
}
/* now, allocate space for the screen buffer */
screenbuf = malloc(lines * display_width);
if (screenbuf == (char *)NULL)
screenbuf = calloc(lines, display_width);
if (screenbuf == NULL)
{
/* oops! */
return(-1);
@ -205,23 +205,23 @@ int display_init(struct statics * statics)
procstate_names = statics->procstate_names;
num_procstates = string_count(procstate_names);
assert(num_procstates > 0);
lprocstates = malloc(num_procstates * sizeof(int));
lprocstates = calloc(num_procstates, sizeof(int));
cpustate_names = statics->cpustate_names;
swap_names = statics->swap_names;
num_swap = string_count(swap_names);
assert(num_swap > 0);
lswap = malloc(num_swap * sizeof(int));
lswap = calloc(num_swap, sizeof(int));
num_cpustates = string_count(cpustate_names);
assert(num_cpustates > 0);
lcpustates = malloc(num_cpustates * sizeof(int) * statics->ncpus);
cpustate_columns = malloc(num_cpustates * sizeof(int));
lcpustates = calloc(num_cpustates * sizeof(int), statics->ncpus);
cpustate_columns = calloc(num_cpustates, sizeof(int));
memory_names = statics->memory_names;
num_memory = string_count(memory_names);
assert(num_memory > 0);
lmemory = malloc(num_memory * sizeof(int));
lmemory = calloc(num_memory, sizeof(int));
arc_names = statics->arc_names;
carc_names = statics->carc_names;
@ -745,7 +745,7 @@ trim_header(char *text)
width = display_width;
header_length = strlen(text);
if (header_length >= width) {
s = malloc((width + 1) * sizeof(char));
s = calloc((width + 1), sizeof(char));
if (s == NULL)
return (NULL);
strncpy(s, text, width);

View File

@ -382,9 +382,9 @@ machine_init(struct statics *statics)
ncpus = 0;
GETSYSCTL("kern.smp.maxcpus", maxcpu);
size = sizeof(long) * maxcpu * CPUSTATES;
times = malloc(size);
times = calloc(size, 1);
if (times == NULL)
err(1, "malloc %zu bytes", size);
err(1, "calloc %zu bytes", size);
if (sysctlbyname("kern.cp_times", times, &size, NULL, 0) == -1)
err(1, "sysctlbyname kern.cp_times");
pcpu_cp_time = calloc(1, size);
@ -779,11 +779,11 @@ get_process_info(struct system_info *si, struct process_select *sel,
*/
if (previous_proc_count_max < nproc) {
free(previous_procs);
previous_procs = malloc(nproc * sizeof(*previous_procs));
previous_procs = calloc(nproc, sizeof(*previous_procs));
free(previous_pref);
previous_pref = malloc(nproc * sizeof(*previous_pref));
previous_pref = calloc(nproc, sizeof(*previous_pref));
if (previous_procs == NULL || previous_pref == NULL) {
(void) fprintf(stderr, "top: Out of memory.\n");
fprintf(stderr, "top: Out of memory.\n");
quit(TOP_EX_SYS_ERROR);
}
previous_proc_count_max = nproc;
@ -996,9 +996,9 @@ format_next_process(caddr_t xhandle, char *(*get_userid)(uid_t), int flags)
break;
}
cmdbuf = malloc(cmdlen + 1);
cmdbuf = calloc(cmdlen + 1, 1);
if (cmdbuf == NULL) {
warn("malloc(%d)", cmdlen + 1);
warn("calloc(%d)", cmdlen + 1);
return NULL;
}
@ -1031,9 +1031,9 @@ format_next_process(caddr_t xhandle, char *(*get_userid)(uid_t), int flags)
size_t len;
argbuflen = cmdlen * 4;
argbuf = malloc(argbuflen + 1);
argbuf = calloc(argbuflen + 1, 1);
if (argbuf == NULL) {
warn("malloc(%zu)", argbuflen + 1);
warn("calloc(%zu)", argbuflen + 1);
free(cmdbuf);
return NULL;
}

View File

@ -3,7 +3,7 @@
* Version 3
*
* This program may be freely redistributed,
* but this entire comment MUST remain intact.
* but this entire ceomment MUST remain intact.
*
* Copyright (c) 1984, 1989, William LeFebvre, Rice University
* Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
@ -270,7 +270,7 @@ get_screensize(void)
}
void
top_standout(char *msg)
top_standout(const char *msg)
{
if (smart_terminal)
{

View File

@ -25,9 +25,8 @@ extern char *clear_to_end;
extern int screen_length;
extern int screen_width;
/* a function that puts a single character on stdout */
int clear_eol(int len);
void top_standout(char *msg);
void top_standout(const char *msg);
void top_clear(void);
void go_home(void);
void reinit_screen(void);

View File

@ -26,8 +26,6 @@
#include <paths.h>
#include <kvm.h>
void quit(int);
int
atoiwi(const char *str)
{
@ -201,10 +199,10 @@ argparse(char *line, int *cntp)
cnt += 3;
/* allocate a char * array to hold the pointers */
argarray = malloc(cnt * sizeof(char *));
argarray = calloc(cnt, sizeof(char *));
/* allocate another array to hold the strings themselves */
args = malloc(length+2);
args = calloc(length+2, 1);
/* initialization for main loop */
from = line;