WPS: Reduce wps_ap_priority_compar() stack use
There is no need to maintain two concurrent instances of struct wps_parse_attr in this function. Share a single structure for parsing both IEs. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
53bd8653c2
commit
b664ef1c0d
1 changed files with 6 additions and 6 deletions
|
@ -355,16 +355,16 @@ int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,
|
|||
int wps_ap_priority_compar(const struct wpabuf *wps_a,
|
||||
const struct wpabuf *wps_b)
|
||||
{
|
||||
struct wps_parse_attr attr_a, attr_b;
|
||||
struct wps_parse_attr attr;
|
||||
int sel_a, sel_b;
|
||||
|
||||
if (wps_a == NULL || wps_parse_msg(wps_a, &attr_a) < 0)
|
||||
if (wps_a == NULL || wps_parse_msg(wps_a, &attr) < 0)
|
||||
return 1;
|
||||
if (wps_b == NULL || wps_parse_msg(wps_b, &attr_b) < 0)
|
||||
return -1;
|
||||
sel_a = attr.selected_registrar && *attr.selected_registrar != 0;
|
||||
|
||||
sel_a = attr_a.selected_registrar && *attr_a.selected_registrar != 0;
|
||||
sel_b = attr_b.selected_registrar && *attr_b.selected_registrar != 0;
|
||||
if (wps_b == NULL || wps_parse_msg(wps_b, &attr) < 0)
|
||||
return -1;
|
||||
sel_b = attr.selected_registrar && *attr.selected_registrar != 0;
|
||||
|
||||
if (sel_a && !sel_b)
|
||||
return -1;
|
||||
|
|
Loading…
Reference in a new issue