[dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr

Aaron Campbell aaron at arbor.net
Thu Jun 19 17:50:53 CEST 2014


Yes, that was extremely bizarre.  I didn’t check the whole project, but at least eal_parse_socket_mem() in the same file was already correct.  Pablo you can add me to Acked-by, obviously. :-)

-Aaron

On Jun 19, 2014, at 12:46 PM, Burakov, Anatoly <anatoly.burakov at intel.com> wrote:

> Hi Aaron,
> 
> It seems that Pablo De Lara has beat you to it by a few minutes :-) Are there any other places this could potentially happen?
> 
>> Must reset errno to zero before calling strtoull(), else on success it could be
>> any arbitrary value from past errors.
>> 
>> Signed-off-by: Aaron Campbell <aaron at arbor.net>
>> ---
>> lib/librte_eal/linuxapp/eal/eal.c | 1 +
>> 1 file changed, 1 insertion(+)
>> 
>> diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
>> index 6994303..d204387 100644
>> --- a/lib/librte_eal/linuxapp/eal/eal.c
>> +++ b/lib/librte_eal/linuxapp/eal/eal.c
>> @@ -562,6 +562,7 @@ eal_parse_base_virtaddr(const char *arg)
>> 	char *end;
>> 	uint64_t addr;
>> 
>> +	errno = 0;
>> 	addr = strtoull(arg, &end, 16);
>> 
>> 	/* check for errors */
>> --
>> 1.8.3.2
> 



More information about the dev mailing list