On Fri, Nov 04, 2016 at 05:06:40PM -0700, Derrick Pallas wrote: > 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. cache->vlan_id.tagged is an array (int tagged[32]), the current code gets its address; not the cache->vlan_id.tagged[0] value or any other int for that matter. > diff --git 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, > - tagged = cache->vlan_id.tagged; > + tagged = &cache->vlan_id.tagged; This would break the build with -Werror: ../src/ap/ieee802_11_auth.c: In function ‘hostapd_acl_recv_radius’: ../src/ap/ieee802_11_auth.c:572:10: error: assignment from incompatible pointer type [-Werror] tagged = &cache->vlan_id.tagged; The current cache->vlan_id.tagged here is already getting the correct pointer to the first entry in the array, i.e., it has the same value as &cache->vlan_id.tagged[0]. While getting the address of the array with & would have the same address value, it would have different type and that's not what we want here. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap