We now pass the POOL_QALIGN flag to pool_create(). Also optimized
[rsync/rsync.git] / lib / pool_alloc.c
index 7d95f19..0fb3122 100644 (file)
@@ -52,7 +52,7 @@ pool_create(size_t size, size_t quantum, void (*bomb)(const char *), int flags)
        pool->size = size       /* round extent size to min alignment reqs */
            ? (size + MINALIGN - 1) & ~(MINALIGN - 1)
            : POOL_DEF_EXTENT;
-       if (pool->flags & POOL_INTERN) {
+       if (flags & POOL_INTERN) {
                pool->size -= sizeof (struct pool_extent);
                flags |= POOL_APPEND;
        }
@@ -255,6 +255,7 @@ pool_free_old(alloc_pool_t p, void *addr)
                                cur->free -= skew;
                        }
                        next = cur->next;
+                       cur->next = NULL;
                }
        } else {
                next = cur->next;