head: --- Pool 1: 100 blocks of 8 bytes Total: 0 allocated blocks, 0 allocated bytes --- Pool 2: 1 blocks of 80 bytes Block 0: 16 bytes at ADDR, tag: "node 1" Total: 1 allocated blocks, 16 allocated bytes --- Pool 3: 10 blocks of 800 bytes Total: 0 allocated blocks, 0 allocated bytes --- Total for all pools: 1 allocated blocks, 16 allocated bytes head,middle: --- Pool 1: 100 blocks of 8 bytes Total: 0 allocated blocks, 0 allocated bytes --- Pool 2: 1 blocks of 80 bytes Block 0: 16 bytes at ADDR, tag: "node 1" Total: 1 allocated blocks, 16 allocated bytes --- Pool 3: 10 blocks of 800 bytes Block 0: 16 bytes at ADDR, tag: "node 2" Total: 1 allocated blocks, 16 allocated bytes --- Total for all pools: 2 allocated blocks, 32 allocated bytes head,middle,tail: --- Pool 1: 100 blocks of 8 bytes Total: 0 allocated blocks, 0 allocated bytes --- Pool 2: 1 blocks of 80 bytes Block 0: 16 bytes at ADDR, tag: "node 1" Total: 1 allocated blocks, 16 allocated bytes --- Pool 3: 10 blocks of 800 bytes Block 0: 16 bytes at ADDR, tag: "node 2" Block 1: 16 bytes at ADDR, tag: "node 3" Total: 2 allocated blocks, 32 allocated bytes --- Total for all pools: 3 allocated blocks, 48 allocated bytes 1 2 3 1 2 oops Pool 3, block 0: 16 bytes at ADDR, tag: "node 2" UNDERRUN and OVERRUN BLOCK free_block(ADDR, Middle): UNDERRUN and OVERRUN BLOCK 1 3 1 3 1 free_block(ADDR, Middle again): free of non-allocated block middle: F free_block(ADDR, Trying something different..): bad address Done! --- Pool 1: 100 blocks of 8 bytes Total: 0 allocated blocks, 0 allocated bytes --- Pool 2: 1 blocks of 80 bytes Block 0: 16 bytes at ADDR, tag: "node 1" Total: 1 allocated blocks, 16 allocated bytes --- Pool 3: 10 blocks of 800 bytes Block 1: 16 bytes at ADDR, tag: "node 3" Total: 1 allocated blocks, 16 allocated bytes --- Total for all pools: 2 allocated blocks, 32 allocated bytes