fwcontrol update

Sean Bruno sbruno at miralink.com
Mon Aug 18 19:21:28 UTC 2008


Dieter wrote:
> case 'b':
>
> 	if (priority_budget < 0 || priority_budget > INT32_MAX)
>         	errx(EX_USAGE, "%s: invalid number: %s", __func__, optarg);
>
> case 'f':
>
> 	if ( (adjust_gap_count < 0) || (adjust_gap_count > INT32_MAX) )
>         	err(EX_USAGE, "%s:adjust_gap_count out of range", __func__);
>
>
> I think "out of range" is better than "invalid number".
> -5 is a valid number.
> 	current_board = strtol(optarg, NULL, 0);
> Just a minor nit, feel free to ignore this one.  :-)
>
> ================================================================================
>
>   
Agreed.  It's a nit, but I'll change it.
>> case 'c':
>>           crom_string = malloc(strlen(optarg)+1);
>>           if (crom_string == NULL)
>>              err(EX_SOFTWARE, "%s:crom_string malloc", __func__);
>>           if ( (strtol(crom_string, NULL, 0) < 0) || strtol(crom_string, NULL, 0) > MAX_BOARDS)
>>              err(EX_USAGE, "%s:Invalid value for node", __func__);
>>           strcpy(crom_string, optarg);
>>     
>
> Strtol() reads freshly malloc-ed memory before anything has been put there.
>
> Perhaps:
>
> case 'c':
> 	{
> 	long node_num;
> 	node_num = strtol(optarg, NULL, 0);
> 	if ( (node_num < 0) || (node_num > MAX_BOARDS) )
> 		err(EX_USAGE, "%s:node out of range", __func__);
> 	crom_string = malloc(strlen(optarg)+1);
> 	if (crom_string == NULL)
> 		err(EX_SOFTWARE, "%s:crom_string malloc", __func__);
> 	strcpy(crom_string, optarg);
>
> 	...
>
> 	}
> case 'd':
>
>
> ================================================================================
>
>   
This is a big ol' whoops on my part.  The whole "malloc" and copy thing 
just seems pointless and needs to be consolidated into just a "strtol()" 
instead.

> case 'u':
>
> 	current_board = strtol(optarg, NULL, 0);
>
> Does this need a range check?
>
> ================================================================================
>   
Probably should be a range check( current_board < 0 and current_board > 
MAX_BOARDS).

-- 
Sean Bruno
MiraLink Corporation
6015 NE 80th Ave, Ste 100
Portland, OR 97218
Phone 503-621-5143
Fax 503-621-5199
MSN: sbruno at miralink.com
Google:  seanwbruno at gmail.com
Yahoo:  sean_bruno at yahoo.com



More information about the freebsd-firewire mailing list