* nscd/mem.c (gc): Fix test for stack overuse.
authorUlrich Drepper <drepper@redhat.com>
Sun, 18 May 2008 02:45:46 +0000 (02:45 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 18 May 2008 02:45:46 +0000 (02:45 +0000)
ChangeLog
nscd/mem.c

index 4333d1c76928d828ac0384488173559c49be5185..315b472b8908e6933442a409e23a6448f1041afb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2008-05-17  Ulrich Drepper  <drepper@redhat.com>
 
+       * nscd/mem.c (gc): Fix test for stack overuse.
+
        * nscd/aicache.c (addhstaiX): Fix a few small problems, cleanups,
        more asserts.
 
index 14928d633ca9ddfea042e1d0a75290ae0a3b85f6..21f2ae821dcb62d248e0ab9958779ab49564e78c 100644 (file)
@@ -132,12 +132,12 @@ gc (struct database_dyn *db)
     stack_used = 0;
   size_t memory_needed = ((db->head->first_free / BLOCK_ALIGN + BITS - 1)
                          / BITS) * sizeof (BITMAP_T);
-  if (memory_needed <= MAX_STACK_USE)
+  if (stack_used + memory_needed <= MAX_STACK_USE)
     {
       mark = (BITMAP_T *) alloca (memory_needed);
       mark_use_malloc = false;
       memset (mark, '\0', memory_needed);
-      stack_used = memory_needed;
+      stack_used += memory_needed;
     }
   else
     {