[BZ #5541]
authorUlrich Drepper <drepper@redhat.com>
Wed, 9 Jan 2008 21:52:40 +0000 (21:52 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 9 Jan 2008 21:52:40 +0000 (21:52 +0000)
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
pollfd structures.
Patch by AndrĂ© Cruz.

ChangeLog
malloc/malloc.c
sunrpc/rpc_thread.c

index eb842b9..d70e40a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-09  Ulrich Drepper  <drepper@redhat.com>
 
+       [BZ #5541]
+       * sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
+       pollfd structures.
+       Patch by AndrĂ© Cruz.
+
        [BZ #5545]
        * sunrpc/clnt_perr.c (clnt_sperror): Don't use fixed size buffer.
        (clnt_spcreateerror): Likewise.
index f0425bd..17dd0a9 100644 (file)
@@ -3772,8 +3772,9 @@ public_mEMALIGn(size_t alignment, size_t bytes)
     } else {
 #if USE_ARENAS
       /* ... or sbrk() has failed and there is still a chance to mmap() */
-      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes);
+      mstate prev = ar_ptr->next ? ar_ptr : 0;
       (void)mutex_unlock(&ar_ptr->mutex);
+      ar_ptr = arena_get2(prev, bytes);
       if(ar_ptr) {
         p = _int_memalign(ar_ptr, alignment, bytes);
         (void)mutex_unlock(&ar_ptr->mutex);
index 91e94c2..7a9cc9d 100644 (file)
@@ -29,6 +29,8 @@ __rpc_thread_destroy (void)
                free (tvp->svcraw_private_s);
                free (tvp->authdes_cache_s);
                free (tvp->authdes_lru_s);
+               free (tvp->svc_xports_s);
+               free (tvp->svc_pollfd_s);
                if (tvp != &__libc_tsd_RPC_VARS_mem)
                        free (tvp);
                __libc_tsd_set (RPC_VARS, NULL);