DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr
@ 2014-06-19 15:42 Aaron Campbell
  2014-06-19 15:46 ` Burakov, Anatoly
  0 siblings, 1 reply; 3+ messages in thread
From: Aaron Campbell @ 2014-06-19 15:42 UTC (permalink / raw)
  To: dev

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@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr
  2014-06-19 15:42 [dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr Aaron Campbell
@ 2014-06-19 15:46 ` Burakov, Anatoly
  2014-06-19 15:50   ` Aaron Campbell
  0 siblings, 1 reply; 3+ messages in thread
From: Burakov, Anatoly @ 2014-06-19 15:46 UTC (permalink / raw)
  To: Aaron Campbell, dev

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@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr
  2014-06-19 15:46 ` Burakov, Anatoly
@ 2014-06-19 15:50   ` Aaron Campbell
  0 siblings, 0 replies; 3+ messages in thread
From: Aaron Campbell @ 2014-06-19 15:50 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: dev

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@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@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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-06-19 15:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-19 15:42 [dpdk-dev] [PATCH] eal: clear errno before calling strtoull() to parse base_virtaddr Aaron Campbell
2014-06-19 15:46 ` Burakov, Anatoly
2014-06-19 15:50   ` Aaron Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).