[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