svn commit: r334518 - head/usr.bin/top

Rodney W. Grimes freebsd at pdx.rh.CN85.dnsmgr.net
Sat Jun 2 04:32:59 UTC 2018


> Author: eadler
> Date: Sat Jun  2 04:08:52 2018
> New Revision: 334518
> URL: https://svnweb.freebsd.org/changeset/base/334518
> 
> Log:
>   top(1): help scan-build along a bit
>   
>   Teach scan-build that some arrays are larger than zero, and thus not to
>   warn.
> 
> Modified:
>   head/usr.bin/top/display.c
>   head/usr.bin/top/machine.c
> 
> Modified: head/usr.bin/top/display.c
> ==============================================================================
> --- head/usr.bin/top/display.c	Sat Jun  2 03:54:50 2018	(r334517)
> +++ head/usr.bin/top/display.c	Sat Jun  2 04:08:52 2018	(r334518)
> @@ -30,6 +30,7 @@
>  
>  #include <sys/time.h>
>  
> +#include <assert.h>
>  #include <curses.h>
>  #include <ctype.h>
>  #include <stdarg.h>
> @@ -203,19 +204,23 @@ int display_init(struct statics * statics)
>  	/* save pointers and allocate space for names */
>  	procstate_names = statics->procstate_names;
>  	num_procstates = string_count(procstate_names);
> +	assert(num_procstates > 0);
>  	lprocstates = malloc(num_procstates * sizeof(int));
>  
>  	cpustate_names = statics->cpustate_names;
>  
>  	swap_names = statics->swap_names;
>  	num_swap = string_count(swap_names);
> +	assert(num_swap > 0);

Isn't it valid to run without swap and then num_swap = 0?

>  	lswap = malloc(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));
>  
>  	memory_names = statics->memory_names;
>  	num_memory = string_count(memory_names);
> +	assert(num_memory > 0);
>  	lmemory = malloc(num_memory * sizeof(int));
>  
>  	arc_names = statics->arc_names;
> 
> Modified: head/usr.bin/top/machine.c
> ==============================================================================
> --- head/usr.bin/top/machine.c	Sat Jun  2 03:54:50 2018	(r334517)
> +++ head/usr.bin/top/machine.c	Sat Jun  2 04:08:52 2018	(r334518)
> @@ -401,6 +401,7 @@ machine_init(struct statics *statics)
>  		}
>  	}
>  	size = sizeof(long) * ncpus * CPUSTATES;
> +	assert(size > 0);
>  	pcpu_cp_old = calloc(1, size);
>  	pcpu_cp_diff = calloc(1, size);
>  	pcpu_cpu_states = calloc(1, size);
> 
> 

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-all mailing list