[COMMITTED 2.36] aio: Fix freeing memory

Aurelien Jarno aurelien@aurel32.net
Sat Jul 20 18:53:06 GMT 2024


From: Samuel Thibault <samuel.thibault@ens-lyon.org>

The content of the pool array is initialized only until pool_size,
pointers between pool_size and pool_max_size were not initialized by the
realloc call in get_elem so they should not be freed.

This fixes aio tests crashing at their termination on GNU/Hurd.

(cherry picked from commit 0cee4aa92f5b9b213856c8ba1ab84c34d73c943b)
---
 rt/aio_misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rt/aio_misc.c b/rt/aio_misc.c
index b4304d0a6f..5f9e52bcba 100644
--- a/rt/aio_misc.c
+++ b/rt/aio_misc.c
@@ -698,7 +698,7 @@ libc_freeres_fn (free_res)
 {
   size_t row;
 
-  for (row = 0; row < pool_max_size; ++row)
+  for (row = 0; row < pool_size; ++row)
     free (pool[row]);
 
   free (pool);
-- 
2.43.0



More information about the Libc-stable mailing list