[PATCH 03/71] NAN: Fix memory leak in schedule validation

Andrei Otcheretianski andrei.otcheretianski at intel.com
Wed Apr 1 15:01:12 PDT 2026


The nan_sched_covered_by_avail_entries() function allocates memory for
sched_entries via nan_sched_entries_to_avail_entries(), but fails to
free it when nan_sched_to_bf() returns NULL. This causes a memory leak.

Add proper cleanup by calling nan_flush_avail_entries() before returning
on error. Also fix the error handling to properly check the return value
of nan_sched_entries_to_avail_entries().

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski at intel.com>
---
 src/nan/nan_util.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/nan/nan_util.c b/src/nan/nan_util.c
index 9c500c8536..2f8121d438 100644
--- a/src/nan/nan_util.c
+++ b/src/nan/nan_util.c
@@ -1285,12 +1285,16 @@ bool nan_sched_covered_by_avail_entries(struct nan_data *nan,
 		return true;
 
 	dl_list_init(&sched_entries);
-	ret = nan_sched_entries_to_avail_entries(nan, &sched_entries,
-						 sched, sched_len);
+	if (nan_sched_entries_to_avail_entries(nan,
+					       &sched_entries,
+					       sched, sched_len))
+		return false;
 
 	sched_bf = nan_sched_to_bf(nan, &sched_entries, &map_id, &reason);
-	if (!sched_bf)
+	if (!sched_bf) {
+		nan_flush_avail_entries(&sched_entries);
 		return false;
+	}
 
 	nan_flush_avail_entries(&sched_entries);
 
-- 
2.53.0




More information about the Hostap mailing list