[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