[dpdk-dev] [PATCH 2/2] devargs: remove limit on parameters	length
    Panu Matilainen 
    pmatilai at laiskiainen.org
       
    Thu Jan  8 10:15:47 CET 2015
    
    
  
On 01/08/2015 12:59 AM, Stephen Hemminger wrote:
> On Wed,  7 Jan 2015 14:03:29 +0100
> David Marchand <david.marchand at 6wind.com> wrote:
>
>> +	buf = strdup(devargs_str);
>> +	if (buf == NULL) {
>> +		RTE_LOG(ERR, EAL, "cannot allocate temp memory for devargs\n");
>> +		goto fail;
>> +	}
>> +
>
> If string is only used in same function you might consider using strdupa() which avoids
> worrying about freeing in error paths.
>
It also "frees" you from having to worry about failures in the first 
place because alloca() failures are not nice and catchable, its 
undefined behavior.
If arbitrary length parameters is the goal then using the alloca() 
family of functions is replacing a controlled failure with an 
unpredictable crash.
	- Panu -
    
    
More information about the dev
mailing list