FST: Mark get_mb_ie() return value const
The caller is not expected to free or modify the value since this is returning a reference to a buffer maintained by the upper layer. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
74619cc150
commit
a0f04da517
7 changed files with 23 additions and 22 deletions
|
@ -1407,7 +1407,7 @@ static int fst_hostapd_send_action_cb(void *ctx, const u8 *da,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct wpabuf * fst_hostapd_get_mb_ie_cb(void *ctx, const u8 *addr)
|
static const struct wpabuf * fst_hostapd_get_mb_ie_cb(void *ctx, const u8 *addr)
|
||||||
{
|
{
|
||||||
struct hostapd_data *hapd = ctx;
|
struct hostapd_data *hapd = ctx;
|
||||||
struct sta_info *sta = ap_get_sta(hapd, addr);
|
struct sta_info *sta = ap_get_sta(hapd, addr);
|
||||||
|
|
|
@ -89,7 +89,7 @@ struct fst_wpa_obj {
|
||||||
* @addr: Address of the STA
|
* @addr: Address of the STA
|
||||||
* Returns: MB IE buffer, %NULL if no MB IE received from the STA
|
* Returns: MB IE buffer, %NULL if no MB IE received from the STA
|
||||||
*/
|
*/
|
||||||
struct wpabuf * (*get_mb_ie)(void *ctx, const u8 *addr);
|
const struct wpabuf * (*get_mb_ie)(void *ctx, const u8 *addr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* update_mb_ie - Update last MB IE received from STA
|
* update_mb_ie - Update last MB IE received from STA
|
||||||
|
|
|
@ -560,7 +560,7 @@ static int get_peer_mbies(const char *params, char *buf, size_t buflen)
|
||||||
u8 peer_addr[ETH_ALEN];
|
u8 peer_addr[ETH_ALEN];
|
||||||
struct fst_group *g;
|
struct fst_group *g;
|
||||||
struct fst_iface *iface = NULL;
|
struct fst_iface *iface = NULL;
|
||||||
struct wpabuf *mbies;
|
const struct wpabuf *mbies;
|
||||||
|
|
||||||
if (fst_read_next_text_param(params, ifname, sizeof(ifname), &endp) ||
|
if (fst_read_next_text_param(params, ifname, sizeof(ifname), &endp) ||
|
||||||
!*ifname)
|
!*ifname)
|
||||||
|
@ -659,7 +659,7 @@ static const char * band_freq(enum mb_band_id band)
|
||||||
static int print_band(unsigned num, struct fst_iface *iface, const u8 *addr,
|
static int print_band(unsigned num, struct fst_iface *iface, const u8 *addr,
|
||||||
char *buf, size_t buflen)
|
char *buf, size_t buflen)
|
||||||
{
|
{
|
||||||
struct wpabuf *wpabuf;
|
const struct wpabuf *wpabuf;
|
||||||
enum hostapd_hw_mode hw_mode;
|
enum hostapd_hw_mode hw_mode;
|
||||||
u8 channel;
|
u8 channel;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
|
@ -314,23 +314,24 @@ fst_group_does_iface_appear_in_other_mbies(struct fst_group *g,
|
||||||
|
|
||||||
addr = fst_iface_get_peer_first(other, &ctx, TRUE);
|
addr = fst_iface_get_peer_first(other, &ctx, TRUE);
|
||||||
for (; addr; addr = fst_iface_get_peer_next(other, &ctx, TRUE)) {
|
for (; addr; addr = fst_iface_get_peer_next(other, &ctx, TRUE)) {
|
||||||
struct wpabuf *mbies = fst_iface_get_peer_mb_ie(other, addr);
|
const struct wpabuf *mbies;
|
||||||
|
|
||||||
if (mbies) {
|
|
||||||
u8 other_iface_peer_addr[ETH_ALEN];
|
u8 other_iface_peer_addr[ETH_ALEN];
|
||||||
struct fst_iface *other_new_iface =
|
struct fst_iface *other_new_iface;
|
||||||
fst_group_get_new_iface_by_mbie_and_band_id(
|
|
||||||
g,
|
mbies = fst_iface_get_peer_mb_ie(other, addr);
|
||||||
wpabuf_head(mbies), wpabuf_len(mbies),
|
if (!mbies)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
other_new_iface = fst_group_get_new_iface_by_mbie_and_band_id(
|
||||||
|
g, wpabuf_head(mbies), wpabuf_len(mbies),
|
||||||
iface_band_id, other_iface_peer_addr);
|
iface_band_id, other_iface_peer_addr);
|
||||||
if (other_new_iface == iface &&
|
if (other_new_iface == iface &&
|
||||||
os_memcmp(iface_addr, other_iface_peer_addr,
|
os_memcmp(iface_addr, other_iface_peer_addr,
|
||||||
ETH_ALEN)) {
|
ETH_ALEN) != 0) {
|
||||||
os_memcpy(peer_addr, addr, ETH_ALEN);
|
os_memcpy(peer_addr, addr, ETH_ALEN);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,8 +96,8 @@ static inline int fst_iface_send_action(struct fst_iface *i,
|
||||||
return i->iface_obj.send_action(i->iface_obj.ctx, addr, data);
|
return i->iface_obj.send_action(i->iface_obj.ctx, addr, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline struct wpabuf * fst_iface_get_peer_mb_ie(struct fst_iface *i,
|
static inline const struct wpabuf *
|
||||||
const u8 *addr)
|
fst_iface_get_peer_mb_ie(struct fst_iface *i, const u8 *addr)
|
||||||
{
|
{
|
||||||
return i->iface_obj.get_mb_ie(i->iface_obj.ctx, addr);
|
return i->iface_obj.get_mb_ie(i->iface_obj.ctx, addr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -363,7 +363,7 @@ static void fst_session_handle_setup_request(struct fst_iface *iface,
|
||||||
struct fst_iface *new_iface = NULL;
|
struct fst_iface *new_iface = NULL;
|
||||||
struct fst_group *g;
|
struct fst_group *g;
|
||||||
u8 new_iface_peer_addr[ETH_ALEN];
|
u8 new_iface_peer_addr[ETH_ALEN];
|
||||||
struct wpabuf *peer_mbies;
|
const struct wpabuf *peer_mbies;
|
||||||
size_t plen;
|
size_t plen;
|
||||||
|
|
||||||
if (frame_len < IEEE80211_HDRLEN + 1 + sizeof(*req)) {
|
if (frame_len < IEEE80211_HDRLEN + 1 + sizeof(*req)) {
|
||||||
|
|
|
@ -3772,7 +3772,7 @@ static int wpas_fst_send_action_cb(void *ctx, const u8 *da, struct wpabuf *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct wpabuf * wpas_fst_get_mb_ie_cb(void *ctx, const u8 *addr)
|
static const struct wpabuf * wpas_fst_get_mb_ie_cb(void *ctx, const u8 *addr)
|
||||||
{
|
{
|
||||||
struct wpa_supplicant *wpa_s = ctx;
|
struct wpa_supplicant *wpa_s = ctx;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue