2015-01-20 12:41:33

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH] mgmt-tester: Fix clang warning

From: Andrei Emeltchenko <[email protected]>

Fixes clang warning below:
...
tools/mgmt-tester.c:3805:2: warning: Value stored to 'id' is never read
id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING,
data->mgmt_index,
^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
...
---
tools/mgmt-tester.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index 92351e4..295fef5 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -3802,7 +3802,7 @@ static void setup_start_discovery(const void *test_data)
uint16_t send_len = test->setup_send_len;
unsigned int id = 0;

- id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
+ mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
discovering_event, UINT_TO_PTR(id), NULL);

mgmt_send(data->mgmt, test->setup_send_opcode, data->mgmt_index,
--
2.1.0



2015-01-21 08:05:51

by Andrei Emeltchenko

[permalink] [raw]
Subject: Re: [PATCH] mgmt-tester: Fix clang warning

Hi Marcel,

On Tue, Jan 20, 2015 at 08:12:19AM -0800, Marcel Holtmann wrote:
> Hi Andrei,
>
> > From: Andrei Emeltchenko <[email protected]>
> >
> > Fixes clang warning below:
> > ...
> > tools/mgmt-tester.c:3805:2: warning: Value stored to 'id' is never read
> > id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING,
> > data->mgmt_index,
> > ^
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 1 warning generated.
> > ...
> > ---
> > tools/mgmt-tester.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
> > index 92351e4..295fef5 100644
> > --- a/tools/mgmt-tester.c
> > +++ b/tools/mgmt-tester.c
> > @@ -3802,7 +3802,7 @@ static void setup_start_discovery(const void *test_data)
> > uint16_t send_len = test->setup_send_len;
> > unsigned int id = 0;
> >
> > - id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
> > + mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
> > discovering_event, UINT_TO_PTR(id), NULL);
>
> this this is actually totally broken code. And not in the sense that clang reports it. You are not fixing the problem here. It is just masking the symptom.
>
> Look into discovering_event callback and see what we do with the UINT_TO_PTR(0) that we are handing in. That code never did what the author was thinking it might do ;)
>

Do you mean we shall use mgmt_unregister_index() instead of
mgmt_unregister() ?

Best regards
Andrei Emeltchenko

2015-01-20 16:12:19

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] mgmt-tester: Fix clang warning

Hi Andrei,

> From: Andrei Emeltchenko <[email protected]>
>
> Fixes clang warning below:
> ...
> tools/mgmt-tester.c:3805:2: warning: Value stored to 'id' is never read
> id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING,
> data->mgmt_index,
> ^
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 warning generated.
> ...
> ---
> tools/mgmt-tester.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
> index 92351e4..295fef5 100644
> --- a/tools/mgmt-tester.c
> +++ b/tools/mgmt-tester.c
> @@ -3802,7 +3802,7 @@ static void setup_start_discovery(const void *test_data)
> uint16_t send_len = test->setup_send_len;
> unsigned int id = 0;
>
> - id = mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
> + mgmt_register(data->mgmt, MGMT_EV_DISCOVERING, data->mgmt_index,
> discovering_event, UINT_TO_PTR(id), NULL);

this this is actually totally broken code. And not in the sense that clang reports it. You are not fixing the problem here. It is just masking the symptom.

Look into discovering_event callback and see what we do with the UINT_TO_PTR(0) that we are handing in. That code never did what the author was thinking it might do ;)

Regards

Marcel