[PATCH] hostapd_acl_recv_radius: tagged is a pointer, not an int

M. Braun michael-dev at fami-braun.de
Mon Nov 7 00:36:39 PST 2016


Hi,

vlan_id.tagged is int[MAX_NUM_TAGGED_VLAN].

I tested the assignments with a minimal test case (attached) using
struct vlan_description with gcc 4.9.2.

1. int * tagged = vlan_id.tagged
  -> accepted without warning

2. int * tagged = &vlan_id.tagged
  -> warning: initialization from incompatible pointer type

So I think the patch not correct.

But interestingly, both vlan_id.tagged and &vlan_id.taged resolve to the
same pointer value for me.

Regards,
M. Braun

Am 05.11.2016 um 01:06 schrieb Derrick Pallas:
> Discovered & fixed by Louisa Chong, `tagged` is an `int*`, not an `int`, so
> we actually want to take the address of `cache->vlan_id.tagged` here.
> 
> Signed-off-by: Louisa Chong <clouisa at meraki.com>
> Signed-off-by: Derrick Pallas <pallas at meraki.com>
> ---
>  src/ap/ieee802_11_auth.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/ap/ieee802_11_auth.c b/src/ap/ieee802_11_auth.c
> index b890537..86230c9 100644
> --- a/src/ap/ieee802_11_auth.c
> +++ b/src/ap/ieee802_11_auth.c
> @@ -569,7 +569,7 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
>  
>  		notempty = &cache->vlan_id.notempty;
>  		untagged = &cache->vlan_id.untagged;
> -		tagged = cache->vlan_id.tagged;
> +		tagged = &cache->vlan_id.tagged;
>  		*notempty = !!radius_msg_get_vlanid(msg, untagged,
>  						    MAX_NUM_TAGGED_VLAN,
>  						    tagged);
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.c
Type: text/x-csrc
Size: 517 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/hostap/attachments/20161107/b399d9ff/attachment.bin>


More information about the Hostap mailing list