Interworking: Fix failed GAS query processing

The pending GAS entry must be removed from the list when it is removed.
This fixes an issue with potential segfault due to freed memory being
accessed if the driver fails to accept a GAS query.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2012-09-28 17:09:15 +03:00 committed by Jouni Malinen
parent 6407f4132f
commit fa5c5b43e4

View file

@ -453,6 +453,7 @@ int gas_query_req(struct gas_query *gas, const u8 *dst, int freq,
if (gas_query_tx(gas, query, req) < 0) { if (gas_query_tx(gas, query, req) < 0) {
wpa_printf(MSG_DEBUG, "GAS: Failed to send Action frame to " wpa_printf(MSG_DEBUG, "GAS: Failed to send Action frame to "
MACSTR, MAC2STR(query->addr)); MACSTR, MAC2STR(query->addr));
dl_list_del(&query->list);
os_free(query); os_free(query);
return -1; return -1;
} }