summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext2fs/pager.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext2fs/pager.c b/ext2fs/pager.c
index c451d7ae..dc0f5971 100644
--- a/ext2fs/pager.c
+++ b/ext2fs/pager.c
@@ -101,8 +101,11 @@ file_pager_read_page (struct node *node, vm_offset_t page,
/* First read, make the returned page be our buffer. */
*buf = new_buf;
else
- /* We've already got some buffer, so copy into it. */
- bcopy ((char *)*buf + offs, (char *)new_buf, length);
+ {
+ /* We've already got some buffer, so copy into it. */
+ bcopy ((char *)new_buf, (char *)*buf + offs, length);
+ vm_deallocate (mach_task_self (), new_buf, length);
+ }
offs += length;
num_pending_blocks = 0;