[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