DPP: Fix memory leaks in GAS server error path handling
If local memory allocation for the GAS response failed, couple of error paths ended up leaking some memory maintaining the state for the exchange. Fix that by freeing the context properly. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
931f7ff656
commit
c7896ef9c6
1 changed files with 4 additions and 1 deletions
|
@ -97,8 +97,10 @@ gas_server_send_resp(struct gas_server *gas, struct gas_server_handler *handler,
|
|||
return;
|
||||
|
||||
response = os_zalloc(sizeof(*response));
|
||||
if (!response)
|
||||
if (!response) {
|
||||
wpabuf_free(query_resp);
|
||||
return;
|
||||
}
|
||||
wpa_printf(MSG_DEBUG, "DPP: Allocated GAS response @%p", response);
|
||||
response->freq = freq;
|
||||
response->handler = handler;
|
||||
|
@ -119,6 +121,7 @@ gas_server_send_resp(struct gas_server *gas, struct gas_server_handler *handler,
|
|||
handler->adv_proto_id_len +
|
||||
resp_frag_len);
|
||||
if (!resp) {
|
||||
wpabuf_free(query_resp);
|
||||
gas_server_free_response(response);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue