[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