Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jun 2018 21:32:54 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd@pdx.rh.CN85.dnsmgr.net>
To:        Eitan Adler <eadler@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r334518 - head/usr.bin/top
Message-ID:  <201806020432.w524WsNK084940@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <201806020408.w5248r8u068839@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806020432.w524WsNK084940>