From 6657bb158be326282dd0b47840bb12f5de351ef9 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 3 Jan 2017 17:31:32 +0200 Subject: [PATCH] Fix OOM handling in neighbor report response handling The pending neighbor report state needs to be cleared on error path here to avoid getting stuck with being unable to perform any additional neighbor reports during the association. Signed-off-by: Jouni Malinen --- wpa_supplicant/rrm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/rrm.c b/wpa_supplicant/rrm.c index 7a10a00fc..942eea79d 100644 --- a/wpa_supplicant/rrm.c +++ b/wpa_supplicant/rrm.c @@ -85,8 +85,10 @@ void wpas_rrm_process_neighbor_rep(struct wpa_supplicant *wpa_s, /* skipping the first byte, which is only an id (dialog token) */ neighbor_rep = wpabuf_alloc(report_len - 1); - if (neighbor_rep == NULL) + if (!neighbor_rep) { + wpas_rrm_neighbor_rep_timeout_handler(&wpa_s->rrm, NULL); return; + } wpabuf_put_data(neighbor_rep, report + 1, report_len - 1); wpa_printf(MSG_DEBUG, "RRM: Notifying neighbor report (token = %d)", report[0]);